Visual Studio坚持使用UnitTestFramework 10.0.0.0

我有一个解决方案,其中有几个项目。 其中一个项目包括用于单元测试的其他Assert方法。 它引用了Microsoft.VisualStudio.QualityTools.UnitTestFramework 10.1.0.0 。 它还包括其他测试项目,它们会引用Microsoft的UnitTestFramework和我的项目以及其他assert方法。

每当我重新启动Visual Studio并编译时,我会收到以下警告:

在相同的相关程序集的不同版本之间发现冲突。

我试着将所有对UnitTestFramework的引用都改为10.1.0.0,但重启后Visual Studio似乎再次将它们设置为10.0.0.0。 我甚至尝试在Visual Studio之外更改项目文件,但是在Visual Studio中打开该项目后,参考文件再次在解决方案资源管理器中显示旧版本。 在不做任何文件修改的情况下关闭Visual Studio时,它会询问是否将更改保存到项目文件中。

如何防止Visual Studio更改我的项目中引用的UnitTestFramework的版本?


有同样的问题。 我们的开发人员之一是重新组装,他的VS由于某种未知的原因而改变了这一点:

<Choose>
  <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
    <ItemGroup>
      <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
    </ItemGroup>
  </When>
  <Otherwise>
    <ItemGroup>
      <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
    </ItemGroup>
  </Otherwise>
</Choose>

进入这个:

<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Choose>
  <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
    <ItemGroup>
      <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
    </ItemGroup>
  </When>
  <Otherwise />
</Choose>

其中的第一行不断在其他人的系统上发生变化(与您的症状相同)。

由于我们还没有计划支持3.5,所以我通过删除“选择”部分并简化为:

<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />

(从参考中完全删除特定版本)

链接地址: http://www.djcxy.com/p/10571.html

上一篇: Visual Studio persists on using UnitTestFramework 10.0.0.0

下一篇: Unable to extend Facebook access token to 60 days