繁体   English   中英

顽固的组装,错误的钥匙? 还是强名问题?

[英]Stubborn assembly, wrong key ? Or is it a Strong Name issue?

我正在使用Microsoft的两个dll程序集来比较Xml。 XmlComparer.cs使用Microsoft.XmlDiffPatch,并且在Visual Studio中正确添加了两个引用。 但是我收到此消息:

错误:无法加载文件或程序集'XmlDiffPatch,版本= 1.0.8.28,文化=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。 定位程序集的清单定义与程序集引用不匹配。 (HRESULT上的例外:0x80131040)异常:System.IO.FileLoadException:无法加载文件或程序集“ XmlDiff修补程序,版本= 1.0.8.28,Culture =中性,PublicKeyToken = b03f5f7f11d50a3a”或它的依存关系。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)文件名:'XmlDiffPatch,版本= 1.0.8.28,文化=中性,PublicKeyToken = b03f 5f7f11d50a3a,位于XmlCompareLib.XmlComparer.Compare(字符串比较选项,字符串sourceX mlFileName,字符串changeXmlFileName,字符串resultHtmlView中) :: \\ Users \\ xx \\ Documents \\ Visual Studio 2010 \\ Projects \\ ConsoleApplication3 \\ ConsoleAp plication3 \\ XmlComparer.cs:Ionic.Zip.Examples.ReadZip.Main(String [] args)中的214行:C:\\ Users \\ xx \\ Documents \\ Visual Studio 2010 \\ Projects \\ ConsoleApplication3 \\ ConsoleApplication3 \\ Pr ogram.cs:第44行

WRN:程序集绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \\ Software \\ Md icrosoft \\ Fusion!EnableLog](DWORD)设置为1。注意:与程序集绑定失败日志有关的性能会受到影响。 要关闭此功能,请删除注册表值[HKLM \\ Software \\ Microsoft \\ Fusion!EnableLog]。

我认为这与强名有关。 因为我检查了两个DLL,但它们不是强名称,所以我尝试生成一个密钥,并强命名程序集,但显然不是同一密钥。 我现在被卡住了。

通常,这是我打开Fusion记录器并记录所有绑定的地方。 通常,Fusion上的登出对于它正在执行的操作会更加清晰。

要启用Fusion日志记录,您可以打开VisualStudio命令提示符,然后运行“ fuslogvw.exe”。 我的最终安装在:

C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v7.1 \\ Bin \\ NETFX 4.0 Tools \\ x64 \\ FUSLOGVW.exe

但这可能会因您的安装而异。

然后,单击“设置”按钮int hat工具,并通过翻转单选按钮,然后运行应用程序,然后在Fusion logger中单击“刷新”来启用日志记录,它将向您显示所有发生的绑定(以及失败的绑定) )。

请记住,返回设置窗口并在完成后关闭日志记录:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM