问题标签 [dotnet-restore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
534 浏览

nuget - 将 %USERPROFILE%\.dotnet 和 .nuget 重新定位到非操作系统驱动器 dotnet core 2.0 预览版

问题

可以将该文件夹%USERPROFILE%\.dotnet重新%USERPROFILE%\.nuget定位到非操作系统驱动器(在我的情况下为 D:驱动器)。

约束

  1. 我使用由我工作的组织提供的虚拟机;操作系统驱动器中的空间有限。
  2. 我们被要求将数据保存到具有足够空间并且可以扩展的不同驱动器。
  3. 我无法编辑系统环境变量。我只能在用户范围/级别添加/编辑环境变量。

开展的活动

我已经徒劳地尝试了以下建议-

  1. 编辑%APPDATA%\NuGet\NuGet.config文件并更改键 -CliFallbackFolder和的值globalPackagesFolder

    <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="globalPackagesFolder" value="D:\nuget\packages" /> <add key="CliFallbackFolder" value="D:\dotnet\NuGetFallbackFolder" /> </packageSources> </configuration>

    一种。的值会在我下次运行 dotnet restore 时CliFallbackFolder重置%USERPROFILE%\.dotnet

  2. 我已经定义了NUGET_PACKAGES环境变量@用户范围并将其值设置为非操作系统驱动器。**仅影响 .nuget 文件夹位置 **

  3. 我提出了这个问题并且已经看到(问题仍然存在) -

    一种。https://github.com/dotnet/cli/issues/4003关于.dotnet文件夹的问题没有回复

    湾。是否可以更改 NuGet 包的位置?专注于 .nuget 文件夹,而不是 .dotnet\CliNuGetFallbackFolderFallbackFolder

  4. 在 github 中提出了一个问题。我意识到我在代码分支的预览 3 中提出了一个问题,从而犯了一个错误。我也意识到这更像是一个问题而不是一个问题,因此在这里发布了这个问题。(https://github.com/dotnet/cli/issues/7256

dotnet --info 输出

.NET 命令行工具 (2.0.0-preview2-006497)

产品信息: 版本:2.0.0-preview2-006497 提交 SHA-1 哈希:06a2093335

运行环境:操作系统名称:Windows 操作系统版本:6.1.7601 操作系统平台:Windows RID:win7-x64 基本路径:C:\Program Files\dotnet\sdk\2.0.0-preview2-006497\

Microsoft .NET Core 共享框架主机版本:2.0.0-preview2-25407-01 内部版本:40c565230930ead58a50719c0ec799df77bddee9

dotnet nuget --version

NuGet 命令行 4.3.0.3

0 投票
1 回答
2703 浏览

docker - asp.net核心码头问题

我是 docker 新手,我开发了一个简单的 asp.net 核心 webapi 解决方案,它使用来自私有存储库的 NuGet 包。

dotnet restore命令为位于解决方案内的 nuget.config 文件中引入的私有存储库中的缺失 NuGet 包返回错误。

有谁知道我的配置和 dockerfile 有什么问题?

Dockerfile

.dockerignore

另外我在解决方案的根目录中有一个 nuget.config 文件,如下所示

但我收到以下消息

docker build -t aspnetcoretssl 。

错误 NU1101:找不到包 TestContracts。源中不存在具有此 ID 的包:nuget.org 正在生成 MSBuild 文件 /app/obj/aspnetcoretssl.csproj.nuget.g.props。

命令“/bin/sh -c dotnet restore”返回一个非零代码:1

0 投票
2 回答
450 浏览

asp.net-core - 在 Windows Server(无 Visual Studio)上为 CI/CD 构建 ASP.NET Core

这不是这个线程的重复,虽然目标相同,但错误不是。

我想在没有安装 Visual Studio 的机器上构建我的 ASP.NET Core。

我需要这个,因为我正在设置 GitLab CI/CD。

仅出于测试目的,我打开我执行的控制台dotnet restoredotnet build文件所在的.sln文件夹。在这两种情况下,我都会收到以下错误:

C:\Program Files\dotnet\sdk\2.1.4\NuGet.targets(103,5): 错误:本地源 'C:\Users\matjaz.cof\.dotnet\NuGetFallbackFolder' 不存在。

完整日志:

提供的线程中的答案说我需要的是我安装的 Dotnet SDK:

Windows 服务器上确实不存在文件夹,但它存在于我的开发机器上(安装了 VS 2017)。我在 Windows Server 上
搜索整个文件夹并在.c:NuGetFallbackFolderc:\Program Files\dotnet\sdk\NuGetFallbackFolder

为什么dotnet restore/build在用户名下搜索文件夹,我需要更改什么?

编辑:(@MartinUllrich)

这是的内容c:\Users\matjaz.cof\AppData\Roaming\NuGet\NuGet.Config

0 投票
2 回答
3307 浏览

nuget - dotnet restore 失败 - 无法加载源 [包名称] 的服务索引

我在 VSTS 中有一个构建失败并出现以下错误:

这是在 VSTS 中将创建包的用户的访问级别从 Basic 降低到 Stakeholder 之后发生的,这反过来也从该用户中删除了包管理扩展。将访问级别恢复为基本并为他们提供包管理扩展解决了这个问题,尽管这不是一个长期的解决方案,因为他们现在已经离开了公司。

我已经确保有用户使用包管理扩展,并且还有一个对包具有权限的 PAT。然后我将 nuget.config 文件中的密码更新为上述 PAT 令牌,但是如果设置包的用户处于利益相关者级别,则构建仍然失败并出现上述错误。

我猜用户用他们的 PAT 设置了一些东西,以某种方式将它们链接到包,但我很难找到这是什么/它可能在哪里。

我正在 Docker 中托管的构建代理上运行构建。

任何帮助将不胜感激 - 谢谢!

0 投票
0 回答
807 浏览

.net - dotnet restore 在针对私人提要的 Linux 容器上失败

我们的本地 TFS 中有一个私有 nuget 提要(使用包管理扩展)。我们可以在本地和我们的构建服务器上毫无问题地使用它。现在我们正在使用 Docker,我们知道我们需要使用外部源复制一个 nuget.config,以便 dotnet 能够获取所需的包。该文件存储了所需的 url 和凭据,如下所示:

我们已经验证,当我们使用 Windows 容器时,它可以成功构建。如果我们切换到 Linux Containers,它会失败并显示以下消息:

关于如何让域凭据在 Linux 容器中工作的任何想法?

0 投票
0 回答
968 浏览

.net - dotnet publish 不使用 dotnet restore 恢复的版本

我正在尝试构建一个 .NET Core 应用程序,该应用程序从自定义提要中引用 NuGet 包(我放弃了身份验证,因此它启用了匿名访问)。

我有一个运行dotnet publish命令的本地 Teamcity 实例。我在 Teamcity 管道中--no-restore的任务前添加了标志dotnet restore,因此我可以使用--source参数指定我的自定义 NuGet 服务器。

然而,我的publish文件夹始终以“我的图书馆”版本0.0.1而不是最新版本结束0.0.2

我认为它将被缓存并预先添加以下命令:

dotnet nuget locals --clear all

这实际上使dotnet restore命令迭代包,我可以看到它正在恢复版本0.0.2。但这实际上恢复到了哪里?以下dotnet publish --no-restore命令似乎没有考虑到这个恢复的版本......

此外,对 NuGet 缓存的进一步检查使其更加奇怪,因为这两个位置都包含0.0.2库的版本......(对于我的本地用户%userprofile%\.nuget\packages%localappdata%\NuGet\v3-cachebuildagent 用户)

任何帮助将不胜感激。

0 投票
1 回答
1185 浏览

asp.net-core - 恢复 .net core 2.0 应用升级到 2.1 时出错

尝试 VSTS 构建我们从 2.0 升级到 2.1 的 .NET 核心应用程序。

当我使用 SDK 版本 2.1.301 在本地构建时,一切都很好。但是 VSTS 构建失败了。

所以我在项目的根目录中添加了一个global.json失败,但这并没有解决问题:

我们得到的错误是这样的:

2018-06-29T10:40:44.2112663Z 2018-06-29T10:40:44.2112824Z
“D:\a\1\s\FooApp.Tests\FooApp.Tests.csproj”(恢复目标)(1)-> 2018-06-29T10:40:44.2113005Z(恢复目标)-> 2018-06-29T10 :40:44.2113230ZD:\a\1\s\FooApp\FooApp.csproj:错误 NU1107:检测到 Microsoft.AspNetCore.Razor.Language 的版本冲突。直接从项目中引用包来解决这个问题。[D:\a\1\s\FooApp.Tests\FooApp.Tests.csproj] 2018-06-29T10:40:44.2113815ZD:\a\1\s\FooApp\FooApp.csproj:错误 NU1107:FooApp -> Microsoft.VisualStudio.Web.CodeGeneration.Design 2.1.1 -> Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore 2.1 .1 -> Microsoft.VisualStudio.Web.CodeGeneration.Core 2.1.1 -> 微软。VisualStudio.Web.CodeGeneration.Templating 2.1.1 -> Microsoft.AspNetCore.Razor.Language (>= 2.1.1) [D:\a\1\s\FooApp.Tests\FooApp.Tests.csproj] 2018-06- 29T10:40:44.2114327ZD:\a\1\s\FooApp\FooApp.csproj:错误 NU1107:FooApp -> Microsoft.AspNetCore.App 2.1.0 -> Microsoft.AspNetCore.Razor.Language (= 2.1.0)。[D:\a\1\s\FooApp.Tests\FooApp.Tests.csproj] 2018-06-29T10:40:44.2114518Z

这是 MyOwnApp.csproj

0 投票
1 回答
87 浏览

.net - 如何说服 VS Code 引用一个包的最新版本?

我们使用私有 NuGet 源来管理几个依赖项。

更新依赖项(例如向类添加属性)并触发构建和发布后,我可以看到dotnet restore下载了新版本:

但是当我尝试访问新属性时,我得到了红色的曲线。当我 F12 查看有问题的类的元数据时,果然,我的属性不存在。

如果我核对 NuGet 缓存并再次恢复,我可以获得新版本。这感觉像是一个核选项——有没有更微妙的方法?


快速更新... csproj 文件中对包的引用如下所示:

目的是它始终引用最新的补丁版本。

0 投票
4 回答
1695 浏览

continuous-integration - 如何使用自定义 NuGet 提要在 VSTS 上运行 dotnet 测试?

我们有一个项目依赖于自定义 NuGet 提要(也托管在 VSTS 中)。

我正在尝试组合一个新阶段来生成代码覆盖率报告,就像在这篇博文中一样。我的新阶段如下所示:

新阶段截图

并由以下步骤组成:

  1. .NET Core 工具安装程序 - 使用 SDK 2.0.0
  2. dotnet restore在“使用此 VSTS/TFS 提要中的包”下拉菜单中选择了我的自定义提要
  3. dotnet test使用相关参数收集代码覆盖率
  4. 使用 ReportGenerator 的自定义步骤
  5. 发布结果的步骤

问题是dotnet test坚持尝试恢复包本身。由于我找不到告诉它使用自定义提要的方法,因此在尝试恢复这些包时失败:

D:\a\1\s\MyProject\MyProject.csproj : error NU1101: Unable to find package My.Package. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org

我的主要构建过程运行良好,并且能够从自定义提要中恢复包。不同之处在于使用 Visual Studio(即 not dotnet)版本的命令:

主要构建过程的屏幕截图

处理这个问题的正确方法是什么?

我需要找到一些方法来讲述dotnet test我的自定义提要吗?

或者(鉴于我restore之前正在运行)我是否需要说服它完全跳过恢复?

0 投票
4 回答
7518 浏览

docker - docker build 中的 Dotnet 还原失败

您好,我正在尝试应用程序,但dockerize在执行时失败。我已经检查了其他线程是否存在此特定问题 Nuget 连接尝试失败 "Unable to load the service index for source"ASP NET Core 2.1docker builddotnet restore

那里提供的解决方案对我没有帮助。

Dockerfile

docker build 的输出