5

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

错误 42 无法加载文件或程序集“XXX,版本=1.0.2.66,文化=中性,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。XXX.UnitTest

  • 我对解决方案中的所有项目进行了干净的重建。
  • 我验证了具有该版本号 (1.0.2.66) 的程序集确实存在于我引用的路径中。
  • 我删除并重新添加了引用作为项目和通过浏览选项卡。
  • 我确保没有在 csproj 文件中指定版本号。
  • 我使用 Dependency Walker 验证了引用的程序集。
  • 我验证了这两个项目都针对 x86 平台。(如此处建议的提示以帮助调试“无法加载文件或程序集 X 或其依赖项之一”

有谁知道还有什么可能导致这个问题?

4

3 回答 3

1

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

  • 无论我使用映射驱动器还是 UNC 路径,都会发生此问题。

  • 即使 URL 的“完全信任”代码访问安全策略也会发生此问题。

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

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

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

    -。

  • 设置 NTFS 权限无效。

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

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

解决问题

将解决方案和项目移动到本地硬盘。

评论

我认为这是Visual Studio 2010中的一个错误。

于 2010-07-21T01:22:51.997 回答
1

我在寻找答案时遇到了这个帖子。这是解决方案。在 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。

有关详细信息,请参阅此链接:http: //msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx

于 2011-03-30T17:46:34.860 回答
0

我也有同样的问题。我在 Windows Server 2003 上运行 VS 2010;两者都在 Mac 上的虚拟机中运行。我的 VS 项目位于 mac 主文件夹 (~/) 中,从 Windows 端映射为 Z:\。在构建时,VS Studio 生成一个错误,指出它找不到 UnitTests.dll 或其依赖项之一。我在一个小型测试项目中遇到了同样的错误。如果我将项目移动到 Windows C:\ 驱动器,则 d​​ll 引用将解析并且单元测试工作。我尝试添加 Blanthor 提到的参考资料,但无法正常工作。

于 2010-12-08T23:56:29.837 回答