我在我的项目中引用System .NET.Http作为核心包,在packages.config和.csproj文件中引用是正确的,但是在Visual Studio属性选项卡中它总是使用系统的引用程序集路径中的包,有人知道为什么吗?
另一件奇怪的事情是这个文件在构建<webproj>\bin\roslyn
有另一个版本,似乎它不使用dll文件既不在nuget也不在参考汇编。
而实际上nuget包中的System.Net.Http.dll,在引用程序集中,在构建的<webproj>\bin\roslyn
目录中都有不同的版本,<webproj>\bin\roslyn
中的文件似乎使用了Visual Studio目录中的文件(C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\aqwf5fqp.2lv\System.Net.Http.dll或C:\Program Files(x86)\Microsoft SDK\NuGetPackages\system.net.http\4.3.0\runtimes\win\lib\net46\System.Net.Http.dll或C:\Program Files(x86)\Microsoft SDK\NuGetPackages\system.net.http\4.3.0\lib\net46\System.Net.Http.dll,根据其版本和文件大小判断)
| dll在不同路径中|程序集版本|
| - -|- -|
| nuget中的dll,软件包版本4.3.4| 4.1.1.3|
| 引用程序集中的dll(也称为在VS属性选项卡中引用)|4.2.0.0|
| dll在建置的<webproj>\bin\roslyn
目录中|4.1.1.0|
在软件包中。config <package id="System.Net.Http" version="4.3.4" targetFramework="net472" />
在csproj中
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\lib\Nugets\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
</Reference>
在“属性”选项卡中x1c 0d1x
我想强制VS(属性选项卡)或bin\roslyn中的文件使用nuget包中的dll,请问怎么做?谢谢。
1条答案
按热度按时间pjngdqdw1#
您可以尝试Migrate from packages.config to PackageReference。
这可以帮助您在一个位置管理所有项目依赖项:就像项目到项目的引用和程序集引用一样,NuGet包引用(使用PackageReference节点)直接在项目文件中管理,而不是使用单独的packages.config文件。