0

嘿,目前我正在尝试运行一个项目(Noizwaves.Client),该项目具有对签名类库(Noizwaves.Core)的依赖项(作为项目引用)。Noizwaves.Core 的程序集版本设置为 2.0.*。我在同一个 VS2008 解决方案文件中拥有这两个项目。Noizwaves.Client 设置为默认启动项目。

所有项目(和解决方案)在 VS 中构建良好,但是当我运行 Noizwaves.Client 时,我得到以下异常:

无法加载文件或程序集“Noizwaves.Core,Version=2.0.3378.15610,Culture=neutral,PublicKeyToken=bed7327d8103b148”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

当我查看 Noizwaves.Client 的调试目录时,我可以看到 Noizwaves.Core 的版本是 2.0.3378.15613。

我认为项目的构建设置/顺序应该归咎于 VS2008。目前所有设置都设置为默认值。

有没有人可以解决这个问题?谢谢!

4

2 回答 2

2

Noizwaves.Client 可能正在从不同的位置加载 Noizwaves.Core。GAC 中有 Noizwaves.Core 吗?在 Visual Studio 下的某个文件夹中(例如 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies)

如果这没有帮助,您可以尝试以下方法:

像这样设置注册表(注意:我建议您复制原始值,以便恢复原始状态):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ForceLog"=dword:00000001
"LogFailures"=dword:00000001
"LogPath"="C:\\Temp\\FusionLog"

并创建一个文件夹 C:/Temp/FusionLog。

Fusion 是 .NET 框架的一部分,负责查找/加载程序集。

进行此更改后,您将在该文件夹中找到所有 .NET 应用程序的一堆日志文件。

于 2009-04-07T07:55:28.340 回答
1

Client 项目对 Core DLL 有什么样的引用?它是文件引用还是项目引用?尝试删除引用并将其重新添加为项目引用。

于 2009-04-01T15:00:15.037 回答