Azure devops PackageReference版本控制通配符csproj
我的NetStandard项目中有以下内容Azure devops PackageReference版本控制通配符csproj,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,packagereference,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,Packagereference,我的NetStandard项目中有以下内容 <ItemGroup> <PackageReference Include="MyReference" Version="1.0.*" /> </ItemGroup> 当我将其更改为使用通配符(而不是1.0.1)时,依赖项切换上会出现一个感叹号,然后是NuGet切换,当然还有包本身 当我签入时,CI构建在另一端也会失败,给我 找不到包MyReference。源中不存在具有此id的包:Microsoft Visu
<ItemGroup>
<PackageReference Include="MyReference" Version="1.0.*" />
</ItemGroup>
当我将其更改为使用通配符(而不是1.0.1)时,依赖项切换上会出现一个感叹号,然后是NuGet切换,当然还有包本身
当我签入时,CI构建在另一端也会失败,给我
找不到包MyReference。源中不存在具有此id的包:Microsoft Visual Studio脱机包,nuget.org
当使用没有通配符的实际版本(1.0.1)时,上述所有问题都会消失,但我希望确保.NET Core还原任务始终还原到最新的包,我希望一个简单的通配符就可以做到这一点
注意-我正在使用自己的私有NuGet存储库(包管理扩展)
请告知
为什么在CI构建期间使用通配符会失败,这表明它找不到包
假设我已将project1部署到自己的NuGet存储库中。Project2依赖于Project1,Project1已作为NuGet包添加到Project2。Project1包驻留在我自己的存储库中,没有问题,也没有错误
当我使用wildard并在本地构建时,它可以工作,并恢复最新版本。当我签入代码更改(在.csproj中保留通配符)时,CI生成失败,并显示上述错误消息。根据
使用PackageReference格式时,NuGet还支持使用
通配符符号,*,表示主要、次要、补丁和预发布后缀
部分数字。不支持使用通配符
packages.config
格式
谢谢你的提问
始终为中的包依赖项指定版本或版本范围
项目文件、packages.config
文件和.nuspec
文件。没有
版本或版本范围,NuGet 2.8.x及更早版本选择最新版本
解析依赖项时可用的包版本,而
3.x和更高版本选择最低的软件包版本。指定版本或版本范围可以避免这种不确定性
你好,是的-我已经读过这个文件。我不确定我是否错过了什么,但我不太确定这对我有什么帮助?我在csprojI中使用PackageReference无法复制此问题。构建/发布定义的任务是什么?将system.debug变量设置为true,然后将新生成排队并在此处共享此日志。您可以共享一个可以重现此问题的示例项目。您是否尝试过使用
[1.0,1.1)
?您最终解决了此问题吗?我现在遇到了这个问题。