关于msbuild:在nuget包中支持多个.net版本的最佳方法是什么?

What is the best way to support multiple .net versions in nuget package?

我已经阅读了nuget文档中的一节,该节解释了可以将依赖项放在/lib/下,这些依赖项将仅应用于该框架。所以/lib/net40、/lib45等。我相信这将创建一个同时支持.NET 4和.NET 4.5平台的包。我还阅读过关于人们为每个.NET版本创建特定的构建的内容。这里的最佳实践是什么?在哪里定义这些混合版本库?(在nuspec文件中通过创建组或在packages.config中通过设置targetframework)。


我在这篇文章中找到了我需要的东西。在msbuild/xbuild和nuget之间存在一种结合,需要存在这种结合才能在我前面提到的文件夹结构中创建nuget包。基本上,.csproj文件是一个msbuild脚本。在这个脚本中,您告诉它将支持哪些配置。假设您有一个配置来执行.net40构建,一个用于.net45。然后,在创建nuget包之前,需要用每个配置构建项目两次。这里都解释了:

Automating creating NuGet packages with MSBuild