首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Azure devops:错误NU1101:找不到包xxx。源中不存在具有此id的包: nuget.org

Azure devops:错误NU1101:找不到包xxx。源中不存在具有此id的包: nuget.org
EN

Stack Overflow用户
提问于 2019-06-19 19:27:26
回答 1查看 4.6K关注 0票数 5

我有一个套餐我推送到一个私人的nuget订阅。然后其他几个项目引用了这些包。一切都很好,除非我指定了一个通配符,它只在vs中有效,但显然在通过azure devops构建进行恢复时不起作用:

这是可行的:

<PackageReference Include="MyLibPackage" Version="1.0.0.114" />

但我在以下位置得到unable to find package错误:

<PackageReference Include="MyLibPackage" Version="*" />

azure devops中的恢复任务运行dockerfile的片段:

# Install the Credential Provider to configure the access
RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash

# Configure the environment variables
ENV NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED true
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS "{\"endpointCredentials\": [{\"endpoint\":\"$feed\", \"password\":\"$pat\"}]}"

WORKDIR /src

COPY ["MyProject/MyProject.csproj", "MyProject/"]

RUN dotnet restore -s "$feed" "MyProject/MyProject.csproj"
EN

回答 1

Stack Overflow用户

发布于 2019-06-19 21:28:34

我建议使用正常的问题解决技术,并删除不必要的并发症,以隔离问题的根本原因。在你的例子中,把docker去掉,使用Azure DevOps内置的功能来恢复和构建。但是,在本例中,它可能会掩盖问题,因为NuGet任务允许您指定一个不会出现在任何nuget.config文件中的源提要(该任务将使用源创建一个临时nuget.config文件)。如果你看不出来,我不喜欢使用Docker来构建。这是一项运行服务的伟大技术,但我见过太多的人因为无法在容器中正确使用构建工具而损失了数小时或数天的工作效率。

无论如何,鉴于错误消息中给出的源列表仅包含nuget.org,这意味着您的存储库中没有列出您的私人提要的nuget.config文件。如果您使用Visual Studio的tools->options->nuget->sources添加了您的私人提要,这只会修改您的用户配置文件nuget.config。这意味着它只能在你的计算机上工作,而不能在其他计算机上工作。您需要创建一个nuget.config并将其提交到您的存储库中,以便CI机器能够使用它。使用dotnet new nugetconfig将为您提供一个良好的入门模板。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56666631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档