2016-07-01 6 views
0

古いプロジェクトを純粋なASP.NETコアプラットフォームに移植しようとしています。私のWebプロジェクトを実行すると、古い誤ったDLL参照に "ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 9.0.0.0"をロードできませんでした。私は9.0.0を参照するプロジェクトやパッケージを使用していません。ネットaspnetcoreの全コンポーネントは9.0.1を参照しています。私は、この問題はNEWVERSIONが一致していないことであると仮定しASP.NETコアで生成されたapp.configが無効

<dependentAssembly> 
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
    <bindingRedirect oldVersion="6.0.0.0" newVersion="9.0.0.0" /> 
    <bindingRedirect oldVersion="4.5.0.0" newVersion="9.0.0.0" /> 
    <bindingRedirect oldVersion="8.0.0.0" newVersion="9.0.0.0" /> 
    </dependentAssembly> 

:私が見つけた何

は、コンパイラは、いくつかの参照net45プロジェクトのために、次のリダイレクトがあります* .exe.configファイルを生成していることですバージョンはプロジェクトの残りの部分で解決されました。これを修正する方法はありますか?バグですか?

答えて

1

パッケージをマイナーバージョンに更新しても設定が完全​​に変更されない可能性があります。設定ファイルで、newVersion="9.0.0.0"newVersion="9.0.1.0"に変更し、参照バージョンと一致させてください。

また、RC2からRTMにアップグレードした後、私は同じ問題を抱えていた <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.1.0" />

+0

はい、これは正しい考えですが、.configファイルはビルド時に.netコアによって自動的に生成されます。私はそれが何らかの方法でこれを生成するために参照されたプロジェクトの設定セクションを使用しているのだろうかと思います。 – James

1

にリダイレクトを組み合わせることができるはずです。古い設定ファイルが正しいリダイレクトで更新されなかったことが判明しました。ファイルを削除してすべてを再構築した後。

関連する問題