.net - NuGet 2.8.6 导致对 .NET 4.5+ 的依赖?

标签 .net visual-studio-2010 nuget

最近开始在使用最新 nuget.exe (2.8.6) 的构建计算机上出现错误

.nuget\nuget restore MySolution.sln

Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

使用 nuget.exe 2.8.5 可以完美恢复完全相同的命令/源树

构建机器是 Windows 2008 R2、.NET 4.0(此构建镜像不允许 4.5 更新)和 VS 2010。基本上,我们有许多针对特定组合(Windows、.NET、Visual Studio)配置的构建机器)。

感觉 2.8.6 版本依赖于 .NET 4.5,在没有它的机器上会崩溃。

最佳答案

我将此作为一个问题提出,但据我所知,没有计划解决它: https://github.com/NuGet/Home/issues/1611

解决方法是使用 NuGet.CommandLine 2.8.5 包,该包可以在 nuget.org 上找到:

  1. 首先下载package通过使用 Package Manager Console 中的命令 Install-Package NuGet.CommandLine -Version 2.8.5 .
  2. 然后从包的安装文件夹中获取可执行文件 (nuget.exe),并用它来替换您当前使用的 NuGet 2.8.6 可执行文件(即在 .nuget\ 文件夹)。
  3. 您可能还想将新的可执行文件 checkin 源代码管理。

关于.net - NuGet 2.8.6 导致对 .NET 4.5+ 的依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31681248/

相关文章:

.net - 有人可以给我一个真实世界的例子,说明我可能想要/需要在 .NET 中使用 BitArray 类吗?

.net - TaskFactory.StartNew 与 ThreadPool.QueueUserWorkItem

visual-studio-2010 - 命名空间 'Model'的类型在命名空间中不存在

c++ - 前向声明从嵌套模板中隐藏祖先模板参数

xml - Visual Studio 2010 中的 XSD key/keyref intellisense 验证支持

.net - 如何将 Nuget 包推送到 GitHub 包?

.net - 应该在多大程度上使用反射?

c# - 根据屏幕分辨率将 Windows 窗体上的按钮控件调整为固定大小

c# - Serilog、.NET 7、错误 NU1605 ("detected package downgrade")和 Microsoft.NETCore.Targets

msbuild - 将 NuGet PackageRestore 与 msbuild 一起使用