时不时会弹出如下错误:

C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamTest\Microsoft.TeamTest.targets(14,5): error : API restriction: The assembly 'file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.

我该如何摆脱它?

有帮助吗?

解决方案

  • 编辑 .csproj 文件
  • 删除 UnitTestFramework 引用末尾的processorArchitecture=MSIL。

改变:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />

到:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  • 重新启动 Visual Studio

其他提示

如果您在尝试在 TFS 构建服务器上运行测试时遇到此错误,那么您可能只需更改 TFS 构建定义用于查找测试程序集的模式。 这个帖子 描述问题和解决方案。基本上,TFS 在两个不同的文件夹中找到相同的测试程序集,并尝试将其包含两次。要解决此问题:

  1. 打开团队资源管理器
  2. 展开树直到您看到项目的构建
  3. 选择有问题的构建
  4. 右键单击 > 编辑构建定义
  5. 点击 过程 在左侧边栏上
  6. 展开'2。基础'>自动化测试
  7. 点击 编辑
  8. 改变 测试装配文件规范 删除模式中匹配的文件夹。例如。改变 ****\测试.dll** 到 *测试*.dll

通过从匹配模式中删除文件夹(即\) 它只会包含测试程序集一次,即使它在两个不同的文件夹中找到它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top