我有一个包含许多项目的Caliburn.Micro应用程序。有几个项目在单独的文件夹中引用相同的dll。现在我需要用更新版本替换该dll。我从所有项目中删除了引用并再次添加它。 但我收到运行时错误:
你能帮忙吗?
P.S。我试图使用fuslogvw.exe,但它显示为空:
答案 0 :(得分:2)
我认为您正在使用Visual Studio。 首先,如果特定版本设置为False(如果没有,请执行此操作),请检查所引用的所有FileHelpers的属性。尝试清理和重建。
如果问题仍然存在,请在解决方案的app.config中,在configuration
部分中添加
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FileHelper" publicKeyToken="3e0c08d59cc3d657" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
通过这种方式,您应该能够将使用过的版本强制为新版本。
答案 1 :(得分:0)
我的猜测是你需要添加对其他程序集的引用。
请附上csproj的文本以显示对您更新的dll的引用。
程序集可以引用不需要编译但在运行时需要的其他程序集。您需要确定FileHelpers
是否是您明确引用的程序集。有关如何使用Fusion Log Viewer的信息,请参阅以下链接。它将为您提供有关查找装配的位置的信息。