繁体   English   中英

AutoMapper 6.2.2还原在VSTS生成服务器上失败

[英]AutoMapper 6.2.2 restore fails on VSTS build server

在我的构建定义中,“还原”步骤失败,并出现以下错误:

错误NU1100:无法为'.NETCoreApp,Version = v2.0'解决'AutoMapper(> = 6.2.2)'。

这是在使用AutoMapper的.NETCoreApp 2.0中。 还原在VS 2017中在本地成功完成。在本地,我正在使用dotnet sdk 2.0.0和nuget 4.3.1。 在VSTS(云)服务器上,我指定了最新的nuget版本4.5.0。 我尝试了许多其他版本,包括4.3.1,但均未成功。

我知道有一个较旧的,类似的问题在这里 ,但从来没有令人满意的答案,在我看来。

如果我查看VS中的元数据,则在其中一个Automapper文件的顶部,我可以看到:

程序集AutoMapper,版本= 6.2.2.0,区域性=中性,PublicKeyToken = be96cd2c38ef1005
// C:\\ Users \\ randyg.nuget \\ packages \\ automapper \\ 6.2.2 \\ lib \\ netstandard1.3 \\ AutoMapper.dll

从中可以看到它采用的是netstandard1.3版本,这是正确的。 我想知道构建服务器上的nuget是否在寻找netcoreApp2.0文件夹,而不是netstandard1.3文件夹? 按照这种理论,我尝试将其添加到我的.csproj文件中:

<AssetTargetFallback>$(AssetTargetFallback);netstandard1.3</AssetTargetFallback>

我的理论是,如果它无法找到netcoreapp2.0版本,它将告诉nuget寻找netstandard1.3版本的automapper。 但是,这没有任何效果。 后来我读到,这个后备功能已经在后台自动添加了。

如果有人有任何想法,我将不胜感激。 我正在为此(剩下的东西)拔头发,因为这是唯一给我带来麻烦的软件包,这对我的项目来说是至关重要的。

在构建服务器上,我也使用.NET Core sdk 2.0.3(如果有的话)。

这就是我解决这个问题的方式:由于似乎可能与我的目标是netcoreapp2.0有关,所以我尝试向我的解决方案中添加一个附加的“虚拟”项目,目标为netstandard1.3。 在此配置中,还原/构建成功。 我以为我必须为此目的维护一个虚拟项目,直到尝试删除它为止,现在netcoreapp2.0解决方案在没有该项目的情况下仍然可以正常还原。 我只能假定TFS构建服务器NPM缓存中有什么损坏(即使我尝试选中该框以禁用该缓存),一旦我成功了一次,它就解决了所有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM