强制NuGet下载为项目.Net版本构建的软件包

时间:2014-03-14 14:38:30

标签: visual-studio-2012 nuget

这应该是一个简单的问题,但我似乎无法在任何地方找到答案。

我有一个项目,我正在建设.Net 3.5。我正在尝试将Newtonsoft JSON.Net作为参考,但NuGet正在安装一个为.Net 4.0构建的版本。这使我无法在不支持.Net 4.0的环境中使用我编译的程序集。

有没有办法配置NuGet,以确保引用不是在项目设置之外的.Net版本中构建的?

2 个答案:

答案 0 :(得分:1)

也许您可以将此答案用于类似的问题:

Download old version of package with nuget

它表示您可以安装旧版本的软件包 您可以尝试安装与.NET Framework 3.5兼容的版本,它将被解决!

;)我希望这有帮助

答案 1 :(得分:1)

NuGet将使用项目的目标框架从NuGet包中选择正确的程序集。您无法覆盖此行为。

最新版本的Json.NET NuGet包(6.0.1)包含一个专门用于.NET 3.5的程序集,因此如果您的项目的目标框架为3.5,NuGet应自动选择该程序集。

将我的项目的目标框架更改为3.5会导致将以下元素添加到项目中:

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

NuGet使用它来确定要使用的程序集。

当Json.NET安装到此项目中时,将从packages \ Newtonsoft.Json.6.0.1 \ lib \ net35目录中引用Newtonsoft.Json.dll文件。该程序集面向.NET 3.5