使用通配符版本安装Nuget包

4
如何在Visual Studio 2017中使用install-package实现通配符版本的包引用?
示例行:

PackageReference Include="somePackage" Version="*"

当我尝试以下命令:

Install-Package somePackage -Version *

我会得到以下错误:

Install-Package:无法将版本参数的输入“*”解析为有效的语义化版本。

2个回答

4

遗憾的是,install-package命令不支持通配符版本。但如果您有一个基于.NET Core的项目,那么您可以使用开发人员命令提示符中的dotnet.exe add package package_name --version *命令。

如何检查您的项目是否基于.NET Core -

  1. 在VS中右键单击该项目,查看是否有选项Edit project_name.csproj

如果您的项目是基于.NET Core的 -

  1. 从开始菜单启动开发人员命令提示符
  2. cd project_directory
  3. dotnet add package package_name --version *

请注意,在包引用中使用*可能存在潜在危险,因为它将始终为您获取最新版本,这可能会带来破坏性变化。


1
总是获取最新的主要版本不是一个好主意。明智的做法是锁定你想要通配符的主要版本。很好的答案。谢谢。 - Josh Gust
你能在包名中使用通配符吗? - Shimmy Weitzhandler

2

感谢您的回答,但实际上并没有解决原始问题。请在您的帖子中添加更多内容,以便回答所提出的问题,而不是使用答案来评论其他答案。此外,您提供的链接没有指定 dotnet add package 不支持通配符。1.0.0-rc < 1.0.0,因此不满足 1.0.* 范围规范。 - Josh Gust

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接