![](/img/trans.png)
[英]Supporting multiple versions of NuGet package in one library / NuGet package
[英]How to provide a NuGet package that can work with multiple versions of a dependency
我有一个要通过NuGet提供的类库。 它具有对Microsoft.AspNet.Mvc
的依赖。 我的库与我在.nuspec
文件中概述的版本> 4.0兼容。
<dependencies>
<dependency id="Microsoft.AspNet.Mvc" version="4.0" />
</dependencies>
要开发我的项目,我必须安装通过NuGet完成的Microsoft.AspNet.Mvc
。
Install-Package Microsoft.AspNet.Mvc
这降低了版本5.2.3.0
,直到我发布我的NuGet程序包,并尝试将其与安装了版本4.0.0.1
的应用程序一起使用时,才成为问题。 我收到以下错误:
Error 1 Assembly 'xxxxx, Version=0.0.2.22155, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
我如何构建可以与.nuspec
文件中规定的所有版本的Microsoft.AspNet.Mvc
一起使用的NuGet包?
Nuget 3.4发生了重大变化。 确保至少使用v3.4。 您可以通过在命令行上运行“ where nuget”来做到这一点。 根据v3.4,您的依赖版本会告诉nuget使用大于或等于Microsoft.AspNet.Mvc v4.0的任何版本。 所以,是的,您做对了。 您可以在http://docs.nuget.org/Create/Versioning中找到有关版本控制的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.