繁体   English   中英

如何提供可以与依赖关系的多个版本一起使用的NuGet程序包

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM