c# - Visual Studio:手动更新项目中的引用后,引用会回到以前的版本
问题描述
我对我的解决方案中的一个项目目前正在发生的事情摸不着头脑:
我在同一个解决方案中有两个项目(InfrastructureSelenium
和)。TestSelenium
两个项目都需要引用 dllMicrosoft.VisualStudio.QualityTools.UnitTestFramework.dll
ProjectInfrastructureSelenium
的 dll 具有以下属性:
(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
但是,Project正在使用:
(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 时都会被重置?
谢谢你的时间
解决方案
我最终通过删除所有对 NuGet 包的引用Microsoft.VisualStudio.QualityTools.UnitTestFramework
并改用 NuGet 包MSTest.TestFramework v1.3.2
来修复它。
但是,我仍然不确定是什么导致 dll 重置为版本 10.0.0.0
推荐阅读
- python - VSCode 折叠文档字符串 Python MacOS
- python-3.x - 使用请求库在 python 中扩展短 url
- scala - 多项目设置 - 未检测到主类
- java - 如何创建接受参数并验证页面对象的页面标题的通用黄瓜步骤
- php - 仅当数组的某些元素具有相同值时才增加变量计数 - PHP
- python - NFQueue/Scapy Man in the Middle
- python - 在 Keras 中实现 2D 最大子数组函数作为自定义损失函数
- sql - 使用 SQL 平衡环境监视器
- javascript - 意外的 Javascript 数组行为
- ruby - 我怎样才能使用这个reduce方法使用一个起点?