我们在.Net 4.6.1上有一个项目,我们已将IdentityServer软件包添加到。
我们通过将System.Net.Http.dll更新到版本4.3.3(https://github.com/aspnet/Security/issues/1116)
显然解决了我们遇到的一个错误问题似乎是VS 2017(15.7.3)仅引用C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll
而不是packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll
,即使我手动添加它。至少是参考详细信息窗口中显示的路径以及最终位于bin文件夹中的版本。
查看.csproj,显示
<Reference Include="System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll</HintPath>
</Reference>
使其复杂化的另一个原因是NuGet版本,文件版本和汇编版本之间没有矩阵可以帮助我解决这个问题。
我正在检查多个环境,但我只能获取文件版本,并且没有任何内容可以反复检查。
NuGet Package 4.3.3 = File Version: 4.6.25705.1
框架中的版本dir = 4.6.26011.1
我们的某个环境中的某些版本无效•4.6.25514.4