繁体   English   中英

NuGet软件包参考和版本

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

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