运行NuGet pack命令时,我收到错误:'AutoMapper'已经为'NETStandard.Library'定义了一个依赖项

Pho*_*bis 6 automapper nuget .net-4.6.1 azure-devops azure-pipelines

我有一个问题包装我自己的nuget包,其中包括AutoMapper 5.0.2.这只会在Visual Studio Team Services(VSTeam)构建服务器中产生错误.

我的项目使用的是.NET 4.6.1

有关如何修复的任何想法?

这是错误:

2016-07-08T23:46:44.5801667Z C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\agent\worker\tools\NuGet.exe pack "C:\a\1\s\Project.csproj" -OutputDirectory "C:\a\1\s\Project\bin\release" -Properties Configuration=release -IncludeReferencedProjects 
2016-07-08T23:46:45.0458195Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2016-07-08T23:46:45.0468395Z Attempting to build package from 'Project.csproj'.
2016-07-08T23:46:45.1942694Z Packing files from 'C:\a\1\s\Project\bin\Release'.
2016-07-08T23:46:45.3942642Z ##[error]**'AutoMapper' already has a dependency defined for 'NETStandard.Library'.**
2016-07-08T23:46:45.4142626Z ##[error]System.Exception: Unexpected exit code 1 returned from tool NuGet.exe
2016-07-08T23:46:45.4152639Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeToolCmdlet.ProcessRecord()
2016-07-08T23:46:45.4152639Z ##[error] at System.Management.Automation.CommandProcessor.ProcessRecord()
Run Code Online (Sandbox Code Playgroud)

我还在GitHub上打开了一个问题:https://github.com/AutoMapper/AutoMapper/issues/1499

小智 9

您需要为Visual Studio版本安装新的Nuget版本.

从这里得到它 Nuget画廊

  • 当然,像这样的傻瓜会是修复.大声笑谢谢你,这对我有用. (2认同)

Pho*_*bis 4

我能够通过放入 PowerShell 脚本来下载最新的 NuGet 来修复/解决该问题。然后我将所有 NuGet 任务指向这个新的 nuget.exe。优点:构建可以再次运行,缺点:每个构建都会再次下载 NuGet,从而对 NuGet.org 造成不必要的负载。

这是我的 PowerShell:

$sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$targetNugetExe = "$(build.sourcesdirectory)/nuget.exe"
Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe
Set-Alias nuget $targetNugetExe -Scope Global -Verbose
nuget
Run Code Online (Sandbox Code Playgroud)