我有另一个这些“无法加载文件或程序集或其依赖项之一”的问题。
附加信息:无法加载
文件或程序集
“Microsoft.Practices.Unity,
Version = 1.2.0.0、文化=中立,
都31 bf3856ad364e35”或
它的依赖项之一。在位于
程序集的显式定义可以
不匹配程序集引用。
(异常来自HRESULT: 0x80131040)
我不知道是什么导致了这种情况,也不知道如何调试它来找到原因。
我在我的解决方案目录.csproj文件中做了一个搜索,我有Unity的每个地方:
参考
包括= " Microsoft.Practices.Unity,
Version = 2.0.414.0、文化=中立,
都31 bf3856ad364e35,
processorArchitecture = MSIL”
在我的任何项目中都找不到任何与1.2.0.0相反的参考。
我该怎么解决这个问题呢?
我执行以下操作来确定无法找到哪个依赖项。
运行regedit.exe并导航到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
创建以下内容:
LogFailures set value to 1 (DWORD)
LogResourceBinds set value to 1 (DWORD)
LogPath (String) set value to C:\FusionLog\
现在运行程序并等待它抛出无法加载文件或程序集或其依赖项之一。
使用资源管理器,导航到C:\FusionLog,应该有一个文件夹包含你的程序的日志,显示哪个依赖项丢失了。
注意:有些人使用FUSLOGVW.exe,它是这些融合日志的查看器。在我的机器上可以在多个地方找到它,包括:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\FUSLOGVW.exe