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 に答える