我有一个包含许多项目的 Caliburn.Micro 应用程序。多个项目在单独的文件夹中引用相同的 dll。现在我需要用更新的版本替换那个 dll。我从所有项目中删除了引用并再次添加。但我收到运行时错误:
能否请你帮忙?
PS 我尝试使用 fuslogvw.exe,但它显示为空:
我有一个包含许多项目的 Caliburn.Micro 应用程序。多个项目在单独的文件夹中引用相同的 dll。现在我需要用更新的版本替换那个 dll。我从所有项目中删除了引用并再次添加。但我收到运行时错误:
能否请你帮忙?
PS 我尝试使用 fuslogvw.exe,但它显示为空:
我认为您正在使用 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>
通过这种方式,您应该能够将使用过的版本强制为新版本。
我的猜测是您需要添加对其他程序集的引用。
请附上 csproj 的文本以显示对您更新的 dll 的引用。
程序集可以引用其他不需要编译但在运行时需要的程序集。您需要确定是否FileHelpers
是您明确引用的程序集。请参阅以下链接了解如何使用 Fusion Log Viewer。它将为您提供有关在何处查找程序集的信息。