[英]NuGet package reference & version
我尝试浏览NuGet和Visual Studio的文档,但没有找到我所问问题的确切答案。 还是使用NuGet的新手。
如果我有如下的packages.config:
<packages>
<package id="xxx.SomePackage" version="1.0.1" targetFramework="net452" />
</packages>
在我的.csproj项目中也有类似的参考:
<Reference Include="xxx.SomePackage, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\xxx.SomePackage.1.0.1\lib\net45\xxx.dll</HintPath>
<Private>True</Private>
</Reference>
假设我有一个较新的版本,希望项目使用1.0.2,我应该手动更改每个csproj / packages.config引用以指向该版本,还是NuGet足够聪明,只能将最新版本应用于我的项目? 我有很多项目,因此很难为每个项目进行更改。
注意:我读到有关使用SpecificVersion:False。 那是我可以使用的东西吗? 注意:我还阅读了有关“ Update-Package -reinstall”的信息。 对于像我这样的场景,这是最好的首选方法吗?
我应该手动更改每个csproj / packages.config引用以指向该版本,还是NuGet足够聪明以仅将最新版本应用于我的项目? 我有很多项目,因此每个项目都很难改变。”
不,您不需要手动更改每个csproj / packages.config引用以指向该版本。 NuGet足够智能,可以仅将最新版本应用到您的项目中。
您可以在Package Manager控制台中使用命令行Update-Package -Id <package_name> -Version 1.0.2
,而无需指定任何特定项目, Update-Package
会影响解决方案中的所有项目。 请参阅更新包以获取更多详细信息。
或者,您也可以通过Manager NuGet解决方案包更新所有项目。 右键单击您的解决方案(不是项目),选择Manager NuGet解决方案软件包,切换到“更新”选项卡,选择需要升级的软件包,然后选择要更新该软件包的项目:
此外, Update-Package -reinstall
用于重新安装软件包,使用此命令比删除软件包然后尝试在具有相同版本的NuGet图库中查找相同软件包要容易得多。 因此,此命令不会更新软件包的版本。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.