我有一个我想通过NuGet提供的类库。它依赖Microsoft.AspNet.Mvc
。我的库与版本兼容> 4.0,我在.nuspec
文件中概述了。
<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'
如何构建一个NuGet包,它将与我在Microsoft.AspNet.Mvc
文件中规定的.nuspec
的所有版本一起使用?
答案 0 :(得分:0)
nuget 3.4发生了重大变化。确保至少使用v3.4。您可以通过在命令行上运行“where nuget”来实现。 根据v3.4,您的依赖版本告诉nuget使用大于或等于Microsoft.AspNet.Mvc的v4.0的任何版本。 所以,是的,你做得对。 您可以在http://docs.nuget.org/Create/Versioning
找到有关版本控制的更多信息