Visual Studio: после обновления ссылки в проекте вручную ссылка возвращается к предыдущей версии - PullRequest
0 голосов
/ 03 октября 2018

Я ломаю голову над тем, что в настоящее время происходит с одним из проектов в моем решении:

У меня есть два проекта (InfrastructureSelenium и TestSelenium) в одном решении.Оба проекта нуждаются в ссылке на dll Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Проект dll InfrastructureSelenium имеет следующие свойства:

(Name): Microsoft.VisualStudio.QualityTools.UnitTestFramework
Alias: global
Copy Local: True
Description: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Embed Interop Types: False
File Type: Assembly
Identity: Microsoft.VisualStudio.QualityTools.UnitTestFramework
Path: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Resolved: True
Runtime Version: v2.0.50727
Specific Version: True
Strong Name: True
Version: 10.1.0.0

Проект TestSelenium, однако использует:

(Name): Microsoft.VisualStudio.QualityTools.UnitTestFramework
Alias: global
Copy Local: False
Description: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Embed Interop Types: False
File Type: Assembly
Identity: Microsoft.VisualStudio.QualityTools.UnitTestFramework
Path: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Resolved: True
Runtime Version: v2.0.50727
Specific Version: True
Strong Name: True
Version: 10.0.0.0

Обратите внимание, что Path и Version различаются, и это вызывает следующую ошибку:

Assembly 'InfrastructureSelenium' with identity 'InfrastructureSelenium, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has higher version than referenced assembly 'Microsoft.VisualStudio.QualityTools.UnitTestFramework' with identity 'Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

Итак, я перехожу к TestSelenium, удалите ссылку на Microsoft.VisualStudio.QualityTools.UnitTestFrameworkи добавить новый к той же DLL, но с правильной версией (10.1.0.0).Это решает проблему и позволяет мне правильно скомпилировать и запустить решение, однако, если я сохраню все и внесу изменения, при следующем открытии Visual Studio появится та же проблема, и мне придется повторить ее снова.

Что я делаю не так и почему Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll сбрасывается при каждом открытии Visual Studio?

Спасибо за ваше время

1 Ответ

0 голосов
/ 05 октября 2018

Я, наконец, исправил это, удалив все ссылки на Microsoft.VisualStudio.QualityTools.UnitTestFramework и использовав вместо этого пакет NuGet MSTest.TestFramework v1.3.2.

Однако я до сих пор не уверен, что послужило причиной сброса dll до версии 10.0.0,0

...