标签: nuget-package-restore

Nuget 无缘无故地抛出 401 未经授权的错误

我正在使用 VS2015 和 Nuget 来安装外部包。一切都工作正常,直到今天 Nuget 开始吐出:

响应状态码不表示成功:401(未经授权)

我尝试四处寻找解决方案,每个人都建议再次提供凭据,无论是从控制台还是工具下的 UI -> nuget 包管理器 -> 管理解决方案的 nuget 包

运气不好,这是怎么回事?

nuget nuget-package nuget-package-restore visual-studio-2015

3
推荐指数
1
解决办法
2万
查看次数

Nuget包不包含最新代码,除非在项目属性中修改版本号

这是一个 NuGet 新手问题。

我有一个 .net core 2.0 类库项目,我刚刚开始工作。我需要打包它并将该包安装在另一个也处于初始阶段的 asp.net 项目中。

所以现在这两个项目都发生频繁的重大变化。

现在,每次我修改类库项目中的某些内容时,我都会将其打包到 .nupkg 文件并将其安装到我的 asp.net 项目中,以便我的更改在 asp.net 项目中可用。

然而我的问题是,当我打包库时,我必须不断增加项目属性中的包版本,并将包更新到 asp.net 项目中的最新版本。

几乎就像每个版本都被缓存一样。我尝试过清洁溶液,但仍然没有成功。

我不想在这个阶段继续更改版本,因为我才刚刚开始,还没有设置 CI/CD 管道。

如何清除 nuget 包的所有痕迹,以便我可以使用更新的代码创建和安装新包,而无需更改版本?

c# asp.net nuget nuget-package-restore

3
推荐指数
1
解决办法
1622
查看次数

恢复包时 dotnet build 命令失败

我有一个项目在本地构建得很好,但在 VSTS 中构建却在dotnet build命令中失败。这个错误对我来说看起来很奇怪,因为我不知道为什么构建命令会尝试再次恢复包。错误如下所示:

2018-07-09T11:06:48.2541705Z 重试源“FindPackagesByIdAsync” https://mycompany.pkgs.visualstudio.com/_packaging/5b9fd539-d653-4771-aa3c-6544d73b1234/nuget/v3/flat2/system.data .sqlclient/index.json '. 2018-07-09T11:06:48.2562315Z 响应状态代码不表示成功:401(未经授权)。

在构建步骤之前,我有一个已成功完成的 dotnet 恢复步骤。恢复步骤使用 NuGet.config 文件,其中包含 VSTS 中的私有源,但 URL 看起来与错误中的 URL 不相似。这是为了清楚起见而提供的文件。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyCompany.NuGet.Internal" value="https://MyCompany.pkgs.visualstudio.com/_packaging/MyCompany.NuGet.Internal/nuget/v3/index.json" />
    <add key="MyCompany.NuGet.ThirdParty" value="https://MyCompany.pkgs.visualstudio.com/_packaging/MyCompany.Nuget.ThirdParty/nuget/v3/index.json" />
  </packageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这里可能有什么问题?dotnet 构建步骤是否完全忽略 NuGet.config 文件并尝试项目中的提要?我不知道该提要 URL 是如何生成的。

nuget nuget-package-restore azure-devops

3
推荐指数
1
解决办法
4272
查看次数

Azure DevOps 构建管道中的 NuGet 包还原

这是我昨天遇到的一个问题的后续:NuGet package restore in builds and Visual Studio

我已经从我的 VS2013 解决方案中删除了“.nuget”解决方案文件夹,但是我的构建管道中的“Visual Studio 构建”任务现在失败了,每个项目都有一个错误:

[错误]xxxxx.csproj(214,5):错误:此项目引用此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。丢失的文件是 c:\Temp\VSTS Agent_work\10\s\xxxxx\.nuget\NuGet.targets。

我试过检查 VS 构建任务中的“还原 NuGet 包”选项,但没有区别。该复选框表示此选项已弃用,要使用“Nuget 工具安装程序”任务 - 我也尝试过此操作,但仍然没有帮助。

我什至在构建管道中添加了“Nuget (command=restore)”任务。它的输出显示它已将 Nuget 包恢复到解决方案的 \packages 文件夹中,但再次没有任何乐趣。

我检查了 .csproj 文件中的相对包路径,它们正确地指向由上述“Nuget 恢复”任务恢复的包文件夹。

我是否遗漏了什么,或者是将“.nuget”解决方案文件夹放回的唯一修复方法?

tfsbuild nuget-package-restore azure-devops azure-pipelines azure-devops-server-2019

3
推荐指数
1
解决办法
3278
查看次数

如何修复缺少 NuGet 包的错误?

我在 Git 下的 Visual Studio 中有一个 C++ 控制台应用程序,其中有一个名为LibrarySubmoduleSolution. 这LibrarySubmoduleSolution使用 Windows 实现库 NuGet 包。

在我的主解决方案中下载 Git 子模块VCPPConsoleApplicationSolution并在解决方案中恢复 NuGet 包后,我收到以下错误:

Severity Code Description Project File Line
Suppression State Error This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Windows.ImplementationLibrary.1.0.200519.2\build\native\Microsoft.Windows.ImplementationLibrary.targets. LibrarySubmoduleSolution
D:\Projects\Tests\VCPPConsoleApplicationSolution\LibrarySubmoduleSolution\LibrarySubmoduleSolution\LibrarySubmoduleSolution.vcxproj 166 Severity Code Description Project File Line
Suppression State Error C1083 Cannot open include file: 'wil/resource.h': …

git visual-studio nuget nuget-package nuget-package-restore

3
推荐指数
1
解决办法
1万
查看次数

Docker 中的 .NET 包恢复与构建分开缓存

如何构建 .NET 5/C# 应用程序的 Docker 映像,以便正确缓存恢复的 NuGet 包?通过正确的缓存,我的意思是当源(而不是项目文件)发生更改时,包含恢复的包的图层仍然会在docker build.

Docker 中的最佳实践是在添加完整源并构建应用程序本身之前执行包恢复,因为这样可以单独缓存恢复,从而显着加快构建速度。我知道不仅要保留packages目录,还要保留各个项目的bin和目录,以便一切都能协同工作。我还知道,一旦缓存被破坏,所有后续层都会重新构建。objdotnet restoredotnet publish --no-restore

我的问题是我无法想出一种方法来仅复制*.csproj. 如果我复制的不仅仅是*.csproj,源更改会破坏缓存。我可以将它们复制到外部的一个地方docker build,然后简单地将它们复制到构建内部,但我希望能够使用相当简单的命令手动构建图像,甚至在管道外部。(这个要求是否不合理?)

对于由相当标准的文件夹结构中的多个项目组成的 Web 应用程序src/*/*.csproj,我提出了这种尝试,试图补偿复制到图像中的太多文件(这仍然会破坏缓存):

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env
WORKDIR /src
COPY NuGet.Config NuGet.Config
COPY src/ src/
RUN find . -name NuGet.Config -prune -o \! -type d \! -name \*.csproj -exec rm -f '{}' + \
    && find -depth -type d -empty -exec rmdir '{}' …
Run Code Online (Sandbox Code Playgroud)

docker nuget-package-restore .net-core

3
推荐指数
2
解决办法
4675
查看次数

VS2022 操作失败,因为无法加载项目详细信息

昨天我像往常一样处理 Blazor 项目时意外发生了这个错误。当我尝试清理、构建、重建项目时,该进程挂起此消息,并且项目中的所有依赖项(分析器、框架、包)都有一个感叹号。
然后我尝试使用包管理器控制台。该Install-Package命令也会导致相同的错误。
我搜索了整个互联网寻找解决方案,这是我尝试过的:

  • 禁用 ReSharper 2022
  • 删除VS缓存(项目根目录下的.vs文件夹)和构建结果(bin和obj文件夹)
  • 清除 NuGet 缓存
  • 卸载并重新加载项目
  • 重新打开VS2022
  • 将项目移动到新位置(路径中没有特殊字符)
  • 打开其他项目
  • 创建新项目
  • 重新启动计算机
  • 更新VS2022到最新版本
  • 重新安装VS2022
  • 使用VS2022预览版
  • 卸载VS2022并返回旧版本

这些努力都没有奏效。
值得一提的是,dotnet restoreanddotnet build命令仍然有效,并且我的计算机上的 VS2019 也可以正常工作(但当前项目基于 .Net 6,所以我必须使用 VS2022)。为了提供更多信息,这里是我当前 VS2022(17.0.3) 的
结果:dotnet --info

.NET SDK (global.json):
 Version:   6.0.101
 Commit:    ef49f6213a

Runtime environments:
 OS Name:     Windows
 OS Version:  10.0.19042
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.101\

Host (useful for support):
  Version: 6.0.1
  Commit:  3a25a7f1cc

.NET SDKs installed:
  2.1.700 [C:\Program Files\dotnet\sdk] …
Run Code Online (Sandbox Code Playgroud)

.net visual-studio nuget-package-restore visual-studio-2022

3
推荐指数
1
解决办法
6183
查看次数

在Linux环境中使用xbuild构建.NET项目

我使用Nancy Asp.Net Web应用程序模板,使用Visual Studio 2013创建了非常简单的项目.

在我的开发机器中,它是由Visual Studio 2013成功构建的.

但是当我尝试使用xbuild在Linux Mono环境中构建相同的源时,它就失败了.

这是输出:

root@jannes:/home/hitly/hitly/src/Hitly.Service# xbuild
XBuild Engine Version 12.0
Mono, Version 3.2.8.0
Copyright (C) 2005-2013 Various Mono authors

Build started 3/31/2014 2:11:49 PM.
__________________________________________________
Project "/home/hitly/hitly/src/Hitly.Service/Hitly.Service.csproj" (default target(s)):
        Target RestorePackages:
                Executing: mono --runtime=v4.0.30319 ../.nuget/NuGet.exe install "" -source ""   -RequireConsent -solutionDir "../"
                The specified path is not of a legal form (empty). /home/hitly/hitly/src/.nuget/NuGet.targets: error : Command 'mono --runtime=v4.0.30319 ../.nuget/NuGet.exe install "" -source ""   -RequireConsent -solutionDir "../"' exited with code: 1.
        Task "Exec" execution …
Run Code Online (Sandbox Code Playgroud)

mono xbuild nuget nuget-package-restore

2
推荐指数
1
解决办法
4336
查看次数

克隆网站项目nuget后恢复包但找不到引用VS 2015

我们已经将遗留的Web站点移动到TFS中的git,并且在克隆项目的任何时候nugget都会根据package.config恢复软件包,并将它们添加到packages文件夹中.由于无法找到通过nuget恢复添加的程序集,后续构建失败.

如果您执行update-package -reinstall并且项目构建成功.这是预期的行为还是我有设置问题?之前的回购包已经检查了包以消除这个问题,但我想避免这种情况.

c# nuget nuget-package-restore visual-studio-2015

2
推荐指数
1
解决办法
2916
查看次数

无法识别解决方案文件夹中的Visual Studio 2017 Nuget.config

我在Visual Studio 2017上遇到问题,

新解决方案会在“ C:\ Users \ yopa \ AppData \ Roaming \ NuGet \ Nuget.config”中意外位置继续引用Nuget.config文件。

我已经将'/.nuget/Nuget.config'文件添加到我的解决方案文件夹中。

但是,解决方案仍在引用“ C:\”中的nuget配置文件,并且nuget软件包也将还原到“ C:\”软件包文件夹中。

如何配置解决方案以遵守其目录中的package.config文件?

我尝试删除漫游文件夹中的nuget.config文件,但是在完成nuget软件包还原后,该解决方案将重新创建该文件。

c# nuget nuget-package nuget-package-restore visual-studio-2017

2
推荐指数
1
解决办法
3534
查看次数