1

我有一个包含许多项目的 Caliburn.Micro 应用程序。多个项目在单独的文件夹中引用相同的 dll。现在我需要用更新的版本替换那个 dll。我从所有项目中删除了引用并再次添加。但我收到运行时错误:

在此处输入图像描述

能否请你帮忙?

PS 我尝试使用 fuslogvw.exe,但它显示为空: 在此处输入图像描述

4

2 回答 2

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>

通过这种方式,您应该能够将使用过的版本强制为新版本。

于 2013-01-23T16:55:55.287 回答
0

我的猜测是您需要添加对其他程序集的引用。

请附上 csproj 的文本以显示对您更新的 dll 的引用。

程序集可以引用其他不需要编译但在运行时需要的程序集。您需要确定是否FileHelpers是您明确引用的程序集。请参阅以下链接了解如何使用 Fusion Log Viewer。它将为您提供有关在何处查找程序集的信息。

于 2013-01-23T17:11:50.433 回答