最初に4.6.1を対象とするWebアプリケーションがあります。このWebアプリケーションはクラスライブラリを参照しています。これはNet Standard 1.6クラスライブラリを参照します。Net 4.6.1/4.7からNet Standardを参照する際のエラー
ネットスタンダードライブラリへの参照を追加すると、最新の変更が加えられ、これが破損しているように見えます。ネットスタンダードライブラリが導入されるまで、ウェブアプリケーションは正常に動作していました。その時点で、私はエラーを取得開始しました:
Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
System.Runtime
は、WebアプリでNuGetパッケージとして含まれています。
これは関係ないかもしれませんが、packagesディレクトリを見ると、 System.Runtime.4.3.0 \ libにはnet45
とnet462
というディレクトリがありますが、4.6.1または4.7ではありません(下記の理由を参照してください)。働いていない私が試した
いくつかの点:
- hereその4.6.1サポートネットSTD 1.6を見てもかかわらず、私は4.7に アップグレードを試しましたが、無駄に。
- web.configでアセンブリのリダイレクトを設定しようとしました。これは、4.0.0.0を探してからリダイレクトが始まるというだけのエラーに変わりますが、基本的には同じエラーです。
- パッケージディレクトリを削除して、強制的にリフレッシュできるかどうかを試しました(System.RuntimeでもUpdate-Packageを試しました)。
- ウェブ検索では、同様の問題がいくつか見つかりました。 1つはGitHub(私が再配置することはできないようです)では、VS2017のアップデートによって問題が解決されるということです。
ウェブ上には私がこれを体験する唯一の人ではないと思うほどの最新のものがあります。私は原因が何であるかについて何の説明も見つけていない。誰かがこれを引き起こしている可能性のあるものや、私が使用できる診断ステップについて説明することはできますか?
どのバージョンのVisual Studioを使用していますか? –
Visual Studio 2017(15.4.1) –
おそらく、これを再現してどこかに公開するために最小限のプロジェクトを作成できますか? – Evk