如何顺利升级NuGet包的targetFramework

时间:2016-04-11 14:39:48

标签: .net nuget target-framework

我有一个NuGet包,目前以.NET 4.5为目标。下一个版本将改为以.NET 4.5.2为目标。我没有兴趣支持这两个框架版本(这些软件包仅在内部使用),但我确实希望消费者明白他们需要定位4.5.2。现在,似乎NuGet将允许4.5项目安装我的软件包,但它将是一个无操作(因为没有为net45安装的DLL)。

我的问题是,我该怎样做才能改善这种体验?理想情况下,当targetFramework出错时,我希望安装失败。除此之外,我会解决类似错误信息的问题。

1 个答案:

答案 0 :(得分:0)

为此,您需要确保包中的所有内容都针对新版本。然后,NuGet将通过以下消息使安装失败:

  

无法安装包'XXX'。您正在尝试安装此功能   打包到一个针对'.NETFramework,Version = v4.5'的项目,但是   包不包含任何程序集引用或内容文件   与该框架兼容的。欲获得更多信息,   联系包裹作者

我的问题是,即使我的DLL目标是net452,我的nuspec文件中的其他元素(例如内容文件)仍然以net45为目标。 NuGet将此解释为我的包是多目标的,因此允许安装在.NET 4.5项目中继续进行(以静默方式跳过添加DLL引用的步骤)。