在 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 包。一切都在这里解释:

http://blog.3d-logic.com/2014/05/29/automating-creating-nuget-packages-with-msbuild/