Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 在构建单元测试项目时,VS 2010无法找到用于测试的引用程序集_Unit Testing_Visual Studio 2010_Assembly Resolution - Fatal编程技术网

Unit testing 在构建单元测试项目时,VS 2010无法找到用于测试的引用程序集

Unit testing 在构建单元测试项目时,VS 2010无法找到用于测试的引用程序集,unit-testing,visual-studio-2010,assembly-resolution,Unit Testing,Visual Studio 2010,Assembly Resolution,我正在开发一个单元测试项目(比如XXX.UnitTest)来测试我的解决方案中另一个项目(XXX)中的视图模型。我可以添加引用,但是当我构建时,一个错误声明它找不到相同的项目(XXX) 错误42无法加载文件或文件 组件'XXX,版本=1.0.2.66, 区域性=中性,PublicKeyToken=空' 或者它的一个依赖项。系统 找不到该文件 明确规定。三十、 单元测试 我对解决方案中的所有项目进行了彻底的重建 我验证了具有该版本号(1.0.2.66)的程序集确实存在于我引用的路径中 我删除并重

我正在开发一个单元测试项目(比如XXX.UnitTest)来测试我的解决方案中另一个项目(XXX)中的视图模型。我可以添加引用,但是当我构建时,一个错误声明它找不到相同的项目(XXX)

错误42无法加载文件或文件 组件'XXX,版本=1.0.2.66, 区域性=中性,PublicKeyToken=空' 或者它的一个依赖项。系统 找不到该文件 明确规定。三十、 单元测试

  • 我对解决方案中的所有项目进行了彻底的重建
  • 我验证了具有该版本号(1.0.2.66)的程序集确实存在于我引用的路径中
  • 我删除并重新添加了引用,既作为项目,也通过浏览选项卡
  • 我确保csproj文件中没有指定版本号
  • 我用Dependency Walker验证了引用的程序集
  • 我验证了这两个项目都是针对x86平台的。(此处建议)

有人知道还有什么会导致这个问题吗?

上周我也遇到了同样的问题。事实证明,我的解决方案和项目都在网络资源上。如果我将解决方案移动到本地驱动器,问题就会消失

  • 无论我使用的是映射驱动器还是UNC路径,都会出现此问题

  • 即使使用URL的“完全信任”代码访问安全策略,也会出现此问题

  • 我相信问题发生在Windows XP计算机上,而不是Windows 7计算机上,但尚未测试或验证

  • 我相信这与共享权限有关

    • 如果我尝试对网络资源使用“脱机文件夹”,我会得到“访问被拒绝”
    -

  • 设置NTFS权限无效

  • 将用户添加到管理员组无效

  • 我没有测试可移动本地驱动器上是否存在问题

变通 将解决方案和项目移动到本地硬盘驱动器

评论
我认为这是Visual Studio 2010中的一个bug。

我也有同样的问题。我在WindowsServer2003上运行VS2010;两者都在Mac上的VM内运行。我的VS项目位于mac home文件夹(~/)中,该文件夹在Windows端映射为Z:\。在构建时,VS studio生成一个错误,表示找不到UnitTests.dll或其依赖项之一。我在一个小测试项目中也遇到了同样的错误。如果我将项目移动到Windows C:\驱动器,dll引用将解析,单元测试将工作。我试图添加Blanthor提到的参考资料,但无法使其生效。

我在搜索答案时发现了这篇文章。这是解决办法。在C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE中QTAgent32.exe和devenv.exe的配置文件中,将以下元素添加到节中:

<runtime>
    <loadFromRemoteSources enabled="true" /> 
</runtime>

这可以添加到所有VS2010工具的机器配置文件(C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\config\machine.config)中。确保以管理员身份运行记事本以允许machine.config保存


有关详细信息,请参阅此链接:

我发现一个临时修复程序用于引用工作文件夹中的程序集,在本例中,它是我正在调试的部署文件夹。您的修复似乎是相关的和有趣的,因为它也是路径相关的。我必须将此答案视为最接近解决方案的答案。似乎必须通过更改为本地路径来解决此问题。然而,在我的例子中,驱动器已经是本地的,但我必须更改对本地驱动器中已部署程序集的引用。我也有同样的问题,希望得到解决。谢谢。这不是一个Web项目,而是一个WPF项目。不幸的是,我不是在这种环境下工作。所以我不能告诉你是否尝试了新的修复方法。哇,我一直在到处寻找相同的问题。这一个确实适用于从网络驱动器引用程序集!!谢谢