标签: nuget-package-restore

MSBuild - Jenkins - Nuget 集成

我们在使用 Jenkins 和 MSBuild 时遇到了一些奇怪的行为。在命令行中手动键入以构建 build.xml 项目时:

msbuild build.xml /T:Package /P:PublishProfile=Test /P:Platform="AnyCPU" 
                  /P:VisualStudioVersion=12.0
Run Code Online (Sandbox Code Playgroud)

构建过程工程完全按照预期(建设,包装等)
但是,如果我使用詹金斯做的正是这一点-那就是-打开命令行并运行此确切的命令,我得到一个错误说:

The command ""..\.nuget\NuGet.exe" install 
"C:\Jenkins\jobs\.....\workspace\MYPROJECT\packages.config" 
-source ""  -NonInteractive -RequireConsent -solutionDir "..\ "" exited with code 1
Run Code Online (Sandbox Code Playgroud)

即使我使用内置的 jenkins 插件来运行命令(无论我使用哪种 parma 组合),它仍然没有。
我知道以下两个听起来像是解决方案,但它们不起作用:

  1. 权限!- 我的服务器总是以管理员身份运行。
  2. 从 VS 在 NuGet 上启用包恢复 - 已经做到了!

任何想法都会很棒!!!

msbuild jenkins nuget-package-restore

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

即使配置为不,Nuget 在构建期间也会更新包

工具->选项->Nuget 包管理器->常规

我已经像这样配置了nuget:

[ ] Allow NuGet to download missing packages
  [ ] Automatically check for missing packages during build in Visual Studio
Run Code Online (Sandbox Code Playgroud)

当我构建我的项目时,我收到如下消息:

33>  Restoring NuGet packages...
33>  To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
33>  All packages listed in packages.config are already installed.
Run Code Online (Sandbox Code Playgroud)

但是我取消选中该选项,为什么我会收到这些消息?

visual-studio nuget visual-studio-2013 nuget-package-restore

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

.net-core 项目还原的包目标始终是全局包目录

我们有一个解决方案,其中一些项目是 .net-core 项目,一些是“正常”的 .net 4.6.1 项目。在解决方案级别,我们有一个 NuGet.config-File 来设置存储库路径:

<configuration>
  <config>
    <add key="repositoryPath" value="packages" />
  </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

项目 packages.config-Files 中列出的包正在下载到 Nuget.config -> repositoryPath 中指定的路径,但 .net-core 项目文件(通过 PackageReference)中指定的包都下载到了C:\Users\USERNAME\.nuget\packages。

我是使用 Visual Studio 2017 还是通过 nuget.exe 手动执行都没有关系。.net-core 项目只是忽略 NuGet.config。

我们在这里做错了什么?

nuget nuget-package-restore .net-core

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

.Net Core 2.0 在 dotnet 恢复期间警告 NU1603,NuGet 包出现问题

(世界!)

我正在编写应用程序 APS .Net Core 2.0。在将一些 NuGet 包添加到 .csproj 后的测试项目中,我遇到了一些麻烦。在命令中dotnet restore弹出错误:

D:\01_Toci\100_GIT\Passenger\Passenger.Tests\Passenger.Tests.csproj :警告 NU1603:Castle.Core 4.0.0 依赖于 System.ComponentModel.TypeConverter (>= 4.0.1),但依赖于 System.ComponentModel.TypeConverter 4.0。 1 未找到。System.ComponentModel.TypeConverter 4.1.0 的近似最佳匹配已解决。

这是我的 .csproj 代码:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <AssemblyName>Passenger.Tests</AssemblyName>
    <PackageId>Passenger.Tests</PackageId>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
    <RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="../Passenger.Core/Passenger.Core.csproj" />
    <ProjectReference Include="../Passenger.Infrastructure/Passenger.Infrastructure.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
    <PackageReference Include="FluentAssertions" Version="4.19.0" />
    <PackageReference Include="Moq" Version="4.7.8" />
    <PackageReference Include="dotnet-test-nunit" Version="3.4.0-beta-3" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

project.assert.json(太长了,所以我决定使用pastebin)

我尝试更改 json …

c# nuget nuget-package-restore asp.net-core

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

无法让 Pipeline 将自定义 NuGet 服务器与 Azure DevOps 构建结合使用

我的解决方案使用来自官方 NuGet 服务器和私有 NuGet 服务器的包。我正在尝试配置我的构建管道以从两个位置恢复包,但不断收到 NuGet 恢复构建错误,看起来它正在尝试从公共 NuGet 服务器恢复我的私有包,并且因此失败,这是可以理解的。

我有点不知所措,不知道我还应该做什么。Azure DevOps 中似乎没有可以为 NuGet 恢复步骤进行的设置,因为看起来现在都是在 YAML 文件中配置的。任何关于我可能做错了什么或我可以尝试什么的建议将不胜感激。

我的解决方案中的 NuGet.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <!-- Allow NuGet to download missing packages -->
    <add key="enabled" value="True" />
    <!-- Automatically check for missing packages during build in Visual Studio -->
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <add key="NuGet official package source" value="https://api.nuget.org/v3/index.json" />
    <add key="Private" value="http://privatenuget.net:8080/nuget" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我的 Pipelines 使用的 YAML 文件:

# ASP.NET …
Run Code Online (Sandbox Code Playgroud)

nuget nuget-package-restore azure-devops

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

迁移的 Visual Studio 项目找不到 NuGet 包

我正在将 MVC ASP.NET Visual Studio 2010 项目迁移到 Visual Studio 2019。

Visual Studio 2010 项目使用一些旧的 jQuery NuGet 包,由于时间限制以及整个项目中的大量更改不适合我当前的范围,我无法将这些包更新为当前的包。

迁移的 2019 项目显示了许多与 NuGet 包相关的错误:

NuGet Package restore failed for project MyWebProject: Unable to find version '3.2.0' of package 'Microsoft.jQuery.Unobtrusive.Ajax'.
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'Microsoft.jQuery.Unobtrusive.Ajax.3.2.0' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
  Please see Error List window for detailed warnings and errors.            

NuGet Package restore failed for project MyWebProject: Unable to find version '2.1.1' of package 'jQuery'.
  C:\Program Files (x86)\Microsoft …
Run Code Online (Sandbox Code Playgroud)

nuget nuget-package nuget-package-restore visual-studio-2019

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

使用来自另一个项目(在同一组织内)的工件提要作为上游源

我在一个组织中有以下设置:

  • 项目A

    • Feed A(项目范围)
  • 项目B

    • 带有上游源的 Feed B(项目范围):
      • 项目A.FeedA
      • nuget.org

现在所有的包都被添加到本地视图,这是默认的。在本地视图权限中,我将其配置为“人员”

当我在 ProjectB 中创建一个管道时,它使用步骤 'Nuget restore' 和提要 'ProjectB.FeedB' 我在恢复包时总是以错误结束:

响应状态代码不表示成功:502(错误网关 - 无法找到上游源 FeedA@Local,因为上游提要的 id 为“xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx”的项目已被删除或已更改其权限.(DevOps 活动 ID:XXXXXX-XXXX-XXXX-XXXX-XXXXXX))。

我发现过去所有的工件提要都是“组织范围的”。现在创建提要时,它们是“项目范围的”。然而:

  • 我看不到在任何地方创建组织范围提要的方法(除了使用 API)。
  • 我不知道如何将现有转换为组织范围提要。
  • 如果我能够将我的项目范围提要中的视图配置为整个组织都可以访问,我想这应该可行吗?

非常欢迎有关如何解决此问题的任何指示!

nuget-package-restore azure-devops azure-artifacts

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

如何将自定义 dll 从私有存储库添加到 azure dev ops 管道?

我是 Azure Dev Ops 的新手,我正在尝试为我的项目创建管道。该项目最初是在 subversion 中,并且依赖于我公司维护的一些自定义可下载库。我正在尝试将这些自定义 dll 添加到构建过程中,以便 nuget 恢复命令能够成功。这些 dll 位于源存储库的“packages”存储库中。如何将这些 dll 添加到构建管道中?任何帮助,将不胜感激!

nuget-package-restore azure-devops

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

覆盖默认的 nuget.config 文件

我在 .sln 文件与 nuget.config 相同的位置添加了此配置

<packageSources>
    <add key="local repo" value="C:\myproject\nugetRepository" />
</packageSources>
Run Code Online (Sandbox Code Playgroud)

我在 appdata/roaming/NuGet 中也有默认的 nuget.config ,配置如下

<packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
Run Code Online (Sandbox Code Playgroud)

在线阅读时,我了解到根项目中的 nuget.config 应该覆盖默认配置,但是,在使用 MSBuild 构建时,它始终使用 appdata 中的配置!我如何指定使用根项目中的那个?

.net msbuild nuget nuget-package nuget-package-restore

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

如何让 MSBuild 恢复任何需要的 NuGet 包

我已经查看了大量关于此的文章,包括此处此处。没有人提供我可以开始工作的解决方案。

我在 VisualStudio 中打开了自动执行此操作的所有功能。但是在我们的构建机器上,我们使用 MSBuild 构建 .sln 文件,而不是通过打开 VisualStudio。那么在 MSBuild 中我怎样才能最好地做到这一点?

我们所有的 .sln 文件都适用于 VisualStudio 2019,并设置为处理 NuGet 的默认值(我相信)。

msbuild visual-studio nuget nuget-package-restore

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