我们在使用 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 组合),它仍然没有。
我知道以下两个听起来像是解决方案,但它们不起作用:
任何想法都会很棒!!!
在
工具->选项->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
我们有一个解决方案,其中一些项目是 .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。
我们在这里做错了什么?
(世界!)
我正在编写应用程序 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 …
我的解决方案使用来自官方 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) 我正在将 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
我在一个组织中有以下设置:
项目A
项目B
现在所有的包都被添加到本地视图,这是默认的。在本地视图权限中,我将其配置为“人员”
当我在 ProjectB 中创建一个管道时,它使用步骤 'Nuget restore' 和提要 'ProjectB.FeedB' 我在恢复包时总是以错误结束:
响应状态代码不表示成功:502(错误网关 - 无法找到上游源 FeedA@Local,因为上游提要的 id 为“xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx”的项目已被删除或已更改其权限.(DevOps 活动 ID:XXXXXX-XXXX-XXXX-XXXX-XXXXXX))。
我发现过去所有的工件提要都是“组织范围的”。现在创建提要时,它们是“项目范围的”。然而:
非常欢迎有关如何解决此问题的任何指示!
我是 Azure Dev Ops 的新手,我正在尝试为我的项目创建管道。该项目最初是在 subversion 中,并且依赖于我公司维护的一些自定义可下载库。我正在尝试将这些自定义 dll 添加到构建过程中,以便 nuget 恢复命令能够成功。这些 dll 位于源存储库的“packages”存储库中。如何将这些 dll 添加到构建管道中?任何帮助,将不胜感激!
我在 .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 中的配置!我如何指定使用根项目中的那个?