2017-06-14 21 views
1

System.Runtimeのバージョン4.3.0をインストールした.net 4.7プロジェクトがあります。しかし、私がプロジェクトを実行すると、バージョン4.1.0.0が見つからないという例外が発生します。私はSystem.Runtime 4.3.0を.net 4.7プロジェクトで使用できません

私がナゲットマネージャーに行くと、バージョン4.1.0.0がプロジェクトにインストールされ、それが動作します。だから私はバージョン4.3.0に再び更新しようとしましたが、もう一度問題が発生します。

プロジェクトは今まで働いていましたが、実際にはなぜ、ナゲットパッケージに関連するものには触れないので、動作が停止するのか分かりません。

また、新しい空のソリューションを作成してプロジェクトを追加しようとしましたが、新鮮なソリューションを試してみましたが、問題は同じです。

どうすれば問題を解決できますか?

ありがとうございました。

+0

チェックパッケージ関連の依存関係のためのプロジェクトの設定ファイル! –

+2

おそらくバインディングリダイレクトが必要ですか?あなたは新しいプロジェクトでそれを再現し、githubで共有しようとする可能性があります – Dbl

+0

それはpackages.configベースのプロジェクトですか、それとも2017 15.2の新しいPackageReferenceスタイルのnugetパッケージ管理を使用していますか? –

答えて

1

NuGetはApp.configpackages.configのためのベースのプロジェクトに必要な結合リダイレクトを生成したり、NuGetパッケージを参照するようにPackageReferenceを使用してcsprojファイルに対してtrueAutoGenerateBindingRedirectsを設定する必要があります。

何らかの理由で、これは実現しなかったか、別のプロジェクト/アプリケーションからライブラリを使用している場合、app.config/web.configファイルに手動バインディングリダイレクトを追加する必要があるかもしれない:

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 
+0

空のソリューションを作成してプロジェクトを作成し、すべての.csファイルと残りのファイルをこの新しいプロジェクトにコピーしようとしました。私は必要なナゲットパックをもう一度インストールしましたが、問題は同じです。私は.net 4.7アプリケーションがあり、テストしようとしているアセンブリは.net standar 1.6です。 .net標準のクラスからメソッドを実行するとエラーが発生します。エラーはlinqであり、実際のバージョン4.3.0ではなく要求されたバージョン4.1.0.0を選択しますが、問題は同じです。私はapp.configを持っていません。 –

+0

私はすべてのプロジェクトを.net 4.7として持っていますが、まだテストプロジェクトでは、4.3.0の代わりにバージョン4.1.0を使用する必要があります。しかし、私はどこを見るか、どのように設定して最後のバージョンを使いたいのか分かりません。おそらくメインアセンブリが4.1.0を使用しているかもしれませんか?しかし、私は新しいプロジェクト.net 4.7を作成し、.csファイルだけをコピーし、設定ファイルはコピーしないので、バージョン4.1.0を使用する理由はわかりません。 –

+0

どのようなプロジェクトを使用していますか?どこかでレプロをアップロードできますか?バインドリダイレクトを手動で新しいapp.configに追加すると問題が解決されますか? –

関連する問題