NuGet-如何打包为依赖项的多个版本生成的程序集?

NuGet-如何打包为依赖项的多个版本生成的程序集?,nuget,nuget-package,Nuget,Nuget Package,我协调一个项目(),该项目有一个单独的和构建。目前,它是通过两个NuGet包分发的 这是最好的(唯一的)方法,还是可以提供一个包并让NuGet在目标项目中引用正确的.dll?目前,NuGet可以按目标框架安装单独的参考dll集,如.net40、net45、netcore45等。有关更多详细信息,请参阅 不过,对于MVC3与MVC4,我能想到的最好方法是在包中安装install.ps1,并尝试使用DTE对象来确定项目正在使用哪个版本的MVC(可能通过检查MVC程序集版本),然后相应地安装引用。解决

我协调一个项目(),该项目有一个单独的和构建。目前,它是通过两个NuGet包分发的


这是最好的(唯一的)方法,还是可以提供一个包并让NuGet在目标项目中引用正确的.dll?

目前,NuGet可以按目标框架安装单独的参考dll集,如.net40、net45、netcore45等。有关更多详细信息,请参阅


不过,对于MVC3与MVC4,我能想到的最好方法是在包中安装install.ps1,并尝试使用DTE对象来确定项目正在使用哪个版本的MVC(可能通过检查MVC程序集版本),然后相应地安装引用。

解决方案非常简单:

  • 您可以将所有受支持版本的MVC的DLL添加到包中 (在您的情况下为3和4)
  • 然后编写install.ps1脚本来查找 目标项目中使用了什么版本的MVC并删除了它 项目引用中不必要的DLL
在这里,您可以找到更详细的说明和install.ps1脚本示例:

谢谢Dan,我认为它没有得到开箱即用的支持。我认为我还没有准备好推出自己的安装脚本,所以我们现在将使用单独的NuGet软件包。该页面没有告诉您如何针对框架。正确的链接是。这仍然不能给你一个简单的方法来生成不同的版本,尽管。。。