1

Visual Studio 2012 Windows 7 デスクトップ アプリで Microsoft ASP.NET Web API を使用しています。2013 年 1 月 25 日に Nuget からダウンロードしました。

プロジェクト内の DLL を手動で参照していますが、System.Net.Http.dll と System.Net.Http.WebRequest.dll の 2 つのファイルへの参照を追加すると、Visual Studio はこれをオーバーライドして、フォルダー C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Net.Http.dll であり、指定したフォルダーではありません C:\MyFolder\System.Net.Http.dll ?

これは、ファイルの [プロパティ] ページで [パス] を確認したためです。他のすべてのファイルは問題なく動作します。ファイルサイズなどが全く違うので、これは気になります。

なぜこれが起こっているのですか?

回避策として、'Copy Local' プロパティを 'True' に設定できると思います (ファイルが .NET 4.5 Framework フォルダーから実行可能ファイルの出力フォルダーにコピーされるようです)。その後、手動でコピーできます。 -それらをnugetの新しいものに置き換えますが、これは非常に長く続くようで、なぜこれを行う必要があるのか​​ についてまだ戸惑っていますか?

誰でも手伝ってもらえますか?

4

1 に答える 1

1

アセンブリ (およびその他のSystem.Net.Httpアセンブリ) には厳密な名前が付けられています。つまり、参照と同じバージョン番号を持っている限り、VS は常に GAC からアセンブリを読み込みます。

バインド プロセスの詳細については、http: //msdn.microsoft.com/en-us/library/yx7xezcf.aspxを参照してください。

于 2013-02-05T14:19:18.983 に答える