我发现这是一个常见问题,当我从 Github 下载 .NET 存储库时,解决方案缺少引用。请参阅下面的示例。使用 Nuget 包管理器时,它表示软件包已安装。缺少软件包文件夹。
我尝试使用“Update-Package -reinstall”,并得到了一堆“项目“项目名称”的当前包源中没有可用的包更新...”的行,这可能是由于缺少包文件造成的。
我可以手动修复每个参考,但这是一个耗时的过程。有没有一种方法可以使用“聪明”知道要做什么的命令或工具一次性强制修复所有项目中的所有这些引用?我正在使用 Visual Studio 2019 16.3 预览版 1
visual-studio nuget nuget-package-restore visual-studio-2019
我的 CI 管道中有一个构建步骤,我可以在其中恢复解决方案的 NuGet 包。我正在从 Sonatype Nexus 上的 NuGet 托管存储库检索我的 NuGet 包。包还原本身运行得足够流畅,但它在验证某些包(在本例中是 Microsoft 提供的包)时花费了近 2 到 3 分钟的步骤中挂起。我完成此恢复的构建代理无法访问互联网。这就是为什么我还在 Sonatype Nexus 上使用 NuGet 代理。例如,它被挂起的步骤是:
PackageSignatureVerificationLog:PackageIdentity:Microsoft.Owin.3.1.0 来源:...nuget\packages\ PackageSignatureValidity:True
我考虑过将可信签名者列表添加到我的构建的 nuget 配置中。但由于我的机器无法访问互联网,这不会很有帮助。如 Microsoft 文档中所述: https://learn.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-trusted-signers
如https://learn.microsoft.com/en-us/nuget/reference/nuget-config-file中所述,
我还尝试设置在这种情况signitureValidationMode下<add key="signatureValidationMode" value="accept" />将默认验证包。即使这是默认情况,如果连接失败则接受它们。但这不会改变我的 NuGet 恢复速度。
除了为我的解决方案需要的所有 NuGet 验证 URL 开放网络访问之外。
有没有办法可以将 NuGet 配置设置为不在构建代理的离线模式下验证 NuGet 包的证书?
我收到此错误:无法加载源https://pkgs.dev.azure.com/xxxxx/_packaging/xxxxx/nuget/v3/index.json的服务索引。响应状态码并不表示成功:401(未经授权)。)
我正在尝试从其他组织的天蓝色工件恢复包。在此输入图像描述
错误日志:38 个包到packages.config 项目
Unable to find version '1.0.976930' of package 'xxxx.Security.Eso.Web.DevSignOn'.
https://api.nuget.org/v3/index.json: Package 'xxxx.Security.Eso.Web.DevSignOn.1.0.976930' is not found on source 'https://api.nuget.org/v3/index.json'.
https://pkgs.dev.azure.com/xxxx/_packaging/yyyy/nuget/v3/index.json: Unable to load the service index for source https://pkgs.dev.azure.com/xxxx/_packaging/yyyy/nuget/v3/index.json.
Response status code does not indicate success: 401 (Unauthorized).)
Run Code Online (Sandbox Code Playgroud)
我尝试了这些解决方案,但没有运气: 1. https://mallibone.com/post/private-nuget-feed-azure-devops 2. https://learn.microsoft.com/en-us/azure/devops/pipelines /packages/nuget-restore?view=azure-devops
我有一个非基于 .NET 的项目,我正在尝试将 nuget 融入其中以管理依赖项。因此,我必须使用 packages.config 来定义项目的依赖项。
现在,我已经完全按照我想要的方式打包和推送它,但是当我恢复包时,它只恢复我列出的packages.config中的依赖项,而不恢复该包的任何依赖项。因此,举例来说,如果我有一个应用程序 MyApp,它依赖于 Foo,然后又依赖于 Bar,那么在 MyApp 上调用 nuget Restore 不会将 Bar 放入包文件夹中。
根据CLI 文档,-Recursive 标志不适用于使用packages.config 的项目 - 这对我来说是一个问题,因为据我所知,我需要使用packages.config。或者至少,如果可以的话,我真的不想再花 3 个小时将我的所有 12 个包转换为使用不同的格式。
作为参考,以下是我的文件目前的样子:
MyApp的package.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Foo" version="1.0.0.0" allowedVersions="[1.0]" />
</packages>
Run Code Online (Sandbox Code Playgroud)
Foo.nuspec
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id>Foo</id>
<version>1.0</version>
<description>Foo</description>
<authors>Tesset</authors>
<dependencies>
<dependency id="Bar" version="[1.0]" />
</dependencies>
</metadata>
<files>
<file src=".\lib\Foo\**" target="lib\Foo" />
</files>
</package>
Run Code Online (Sandbox Code Playgroud)
裸藻
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements--> …Run Code Online (Sandbox Code Playgroud) 错误:
构建恢复了 NuGet 包。再次构建项目以将这些包包含在构建中。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=317568
我在 Visual Studio 2017 中构建代码时遇到此错误。作为解决方法,我必须清理代码并再次构建。然后我就看不到这个错误了。每次 O 构建时都会出现此错误。我必须先清理,然后建造。有人有类似的问题吗?
所以我有一个 Azure DevOps Pipelines,如下所示:
因此,目前,使用 NuGet 4.6.2,我可以使用服务端点添加我的凭据/PAT。这现在正在发挥作用。
但是,我坚持使用 NuGet 4.6.2。如果我升级到最新的 NuGet (5.8),那么我将在 NuGet 恢复期间收到错误:
Unable to find version '<x.y.z>' of package '<my.object.package>'.
C:\Users\VssAdministrator\.nuget\packages\:
Package '<my.object.package.x.y.z>' is not found on source 'C:\Users\VssAdministrator\.nuget\packages\'.
https://api.nuget.org/v3/index.json:
Package '<my.object.package.x.y.z>' is not found on source 'https://<private.nuget.url>: Failed to fetch results from V2 feed at '
Response status code does not indicate success: 401 (Unauthorized).)
Run Code Online (Sandbox Code Playgroud)
我的猜测是,我需要以某种方式将凭据以不同的方式传递给私有 NuGet 源(组织外部),但不确定如何传递。或者也许我在这里遗漏了一些东西?
我们有一个内部 Azure DevOps 2019 服务器,我目前正在为新的 .Net6 解决方案设置构建,该解决方案的项目引用来自 nuget.org 的各种包以及我们 ADO 服务器“工件”区域中的内部源。
由于这是 .Net6,我假设我必须使用“.Net Core”恢复任务(黑色方形图标),而不是旧的“NuGet”恢复任务(蓝色图标)?因此,我添加了前者,并配置了相关设置,如下所示,其中“NuGetPackages”是我们内部源的名称:
当我运行构建时,此任务失败并显示消息
错误 NU1301:无法加载源 http://***/_packaging/2df3c440-07a5-4c01-8e5c-bfbd6e132f09/nuget/v3/index.json 的服务索引。
我们内部 feed 的 URL 是:
http://***/_packaging/NuGetPackages/nuget/v3/index.json,那么为什么 URL 中的 feed 名称被替换为错误消息中所示的 GUID?大概这就是恢复失败的原因。
顺便说一句,我们有许多 .Net Framework 4.x 解决方案,它们引用相同的包并且构建得很好。这些使用较旧的“NuGet”(蓝色图标)恢复任务,但设置与上图中的设置相同,这表明较新的“.Net Core”任务正在做一些奇怪的事情。
(顺便说一句,有人可以解释“NuGet”任务和“.Net Core”任务之间的区别吗?我仍然可以在 .Net6 构建管道中使用旧任务吗?我之前曾短暂尝试过,但它抱怨 msbuild v17尚未安装,并且不想继续沿着这条路走,因为担心破坏 4.x 版本)。
我在 macOS 上使用 dotnet cli 版本 6.0.403,dotnet restore在 .csproj 上运行并收到以下我不明白的 nuget 恢复错误。据我所知,所有请求Microsoft.Extensions.Caching.Abstractions都是针对同一版本(> = 6.0.0)。冲突是什么?
/Users/code/legacy/LEAF/IntegrationTests/IntegrationTests.csproj :错误 NU1106:无法满足“Microsoft.Extensions.Caching.Abstractions”的冲突请求:Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过项目/LEAF.DistributedCache.NATS 1.2.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过项目/LEAF.Components.Services.Registration.NATS 1.1.0)、Microsoft.Extensions.Caching。抽象 (>= 6.0.0)(通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过 package/LEAF.Components.Services. Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/LEAF.Components.Services.Registration.Contract 1.0.0), Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/LEAF.Components.Services.Registration.Contract 1.0) .0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、 Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0) (通过 package/ LEAF.Components.Services.Registration.Contract 1.0.0)、Microsoft.Extensions.Caching.Abstractions (>= 6.0.0)(通过 …
我继承了一个旧项目(带有文件的 .NET 网站.publishproj!),该项目依赖于其他 .NET 类库。一切都是.NET 4.8。我尝试Add-BindingRedirect从包管理器控制台运行,该控制台直到最近才正常运行,现在收到以下错误:
Add-BindingRedirect :加载此程序集将产生与其他实例不同的授权集。(HRESULT 异常:0x80131401)在行:1 字符:20
- 获取项目-全部| 添加绑定重定向
- 类别信息:未指定:(:) [Add-BindingRedirect]、FileLoadException
- FullQualifiedErrorId:NuGetCmdletUnhandledException、NuGet.PackageManagement.PowerShellCmdlets.AddBindingRedirectCommand
.NET 网站项目有一个带有绑定重定向的 web.config 文件,这让我很心痛,.NET 库有 app.config 文件。我需要所有这些项目共享相同的二进制文件。
我什至无法在一个项目上运行此命令而不出现此错误,更不用说同时运行所有项目了。
我尝试过回收 IIS 中的所有应用程序池,使用 IIS Express 重新启动,删除.suo各个项目中的所有文件,重新启动 VS,重新启动我的机器。在这种情况下我没有看到任何与此错误相关的内容。
通常,我们从我们的Nuget.config获取,users\[loggedinuser\AppData\Roaming\Nuget但我们有一个特定项目的情况,我们需要使用不同的项目特定配置文件.在这种情况下,我在哪里放置配置文件?
我正在使用.net核心SDK 1.0.4和.net代码.
构建脚本执行此操作:
cd src\SFMC.Adapter.Service
dotnet restore
dotnet build
Run Code Online (Sandbox Code Playgroud)
我可以传入一个参数dotnet restore来指示配置的位置吗?