我正在使用Microsoft的两个dll程序集来比较Xml。 XmlComparer.cs使用Microsoft.XmlDiffPatch,并在Visual Studio中正确添加了两个引用。 但是我收到了这条消息:
错误:无法加载文件或程序集'XmlDiffPatch, Version = 1.0.8.28,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a' 或其中一个依赖项。定位d程序集的清单 定义与程序集引用不匹配。 (感知从 HRESULT:0x80131040)异常:System.IO.FileLoadException:无法 加载文件或程序集'XmlDiff补丁,版本= 1.0.8.28, Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中的e 依赖。定位程序集的清单定义没有 匹配程序集引用。 (HRESULT异常:0x80131040) 文件名:'XmlDiffPatch,Version = 1.0.8.28,Culture = neutral, PublicKeyToken = b03f 5f7f11d50a3a'at XmlCompareLib.XmlComparer.Compare(String comparisonOptions,String sourceX mlFileName,String changedXmlFileName,String 在C:\ Users \ xx \ Documents \ Visual中的resultHtmlViewFile) Studio 2010 \ Projects \ ConsoleApplication3 \ ConsoleAp plication3 \ XmlComparer.cs:第214行 C:\ Users \ xx \ Documents \ Visual Studio中的Ionic.Zip.Examples.ReadZip.Main(String [] args) 2010 \ Projects \ ConsoleApplication3 \ ConsoleApplication3 \ Pr ogram.cs:line 44
警告:装配绑定日志记录已关闭。要启用程序集绑定 失败日志记录,设置注册表值[HKLM \ Software \ Md icrosoft \ Fusion!EnableLog](DWORD)为1.注意:有一些 与程序集绑定失败相关的性能损失。至 关闭此功能,删除注册表值 [HKLM \ Software \ Microsoft \ Fus ion!EnableLog]。
我认为这与强名有关。因为我检查了两个DLL并且它们没有强名称所以我试图生成一个密钥和强名称的程序集,但它显然不是相同的密钥。我现在卡住了..
答案 0 :(得分:0)
这通常是我打开Fusion记录器并记录所有绑定的点。 Fusion的日志通常会更清晰一些。
要启用Fusion日志记录,您可以打开VisualStudio命令提示符,然后运行" fuslogvw.exe"。我最终安装在:
C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ NETFX 4.0 Tools \ x64 \ FUSLOGVW.exe
但根据您的安装情况,这可能会有所不同。
然后,您点击"设置"按钮int hat工具,通过翻转单选按钮启用日志记录,然后运行您的应用程序,然后单击"刷新"在融合记录器中,它将显示发生的所有绑定(以及失败的绑定)。
请记住返回设置窗口并在完成后关闭日志记录:)