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,Visual Studio 似乎覆盖了它并从文件夹 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Net.Http.dll 而不是我指定的文件夹 C:\MyFolder\System.Net.Http.dll ?

我知道这一点是因为我在“属性”页面中查看文件的路径。所有其他文件工作正常。这让我很困扰,因为它们的文件大小完全不同,等等。

为什么会这样?

作为一种解决方法,我想我可以将“复制本地”属性设置为“真”(看起来文件随后从 .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 回答