[英]How to resolve NAnt not restoring package?
我正在尝试使用 NAnt 构建项目,但是,项目还原的错误是:“\\2.2.107\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.PackageDependencyResolution.targets(208,5): error NETSDK1064: Package Microsoft .EntityFrameworkCore.Analyzers,版本 2.2.4 未找到。它可能在 NuGet 还原后已被删除。否则,NuGet 还原可能仅部分完成,这可能是由于最大路径长度限制。”
我试过这个解决方案: 詹金斯没有拿起nuget恢复的包
这是不成功的。
<target name="restore" description="Restore the nuget packages">
<exec program="${project::get-base-directory()}\.nuget\nuget.exe">
<arg value="restore"/>
<arg value="${project::get-base-directory()}\solution.sln"/>
</exec>
</target>
<target name="build" description="Build Solution" depends="clean,restore">
<call target="build-all"/>
</target>
<target name="build-all" description="Build the web and library solutions">
<exec program="msbuild.exe">
<arg value="solution.sln"/>
<arg value="/m"/>
<arg value="/p:VisualStudioVersion=14.0"/>
<arg value="/p:Configuration=Release"/>
<arg value="/t:Clean"/>
<arg value="/p:Configuration=Release"/>
</exec>
<exec program="msbuild.exe">
<arg value="solution.sln"/>
<arg value="/p:VisualStudioVersion=14.0"/>
<arg value="/p:Configuration=Release"/>
<arg value="/m"/>
<arg value="/t:Build"/>
</exec>
</target>
仅供参考:我有一个使用包引用的 .NET(非核心)项目。 我在 msbuild exec 中添加了一个参数来恢复 nuget 包并指定了 nuget 包路径。 自从项目从 32 位构建转换为 64 位构建以来,我遇到了路径问题 - 它在 C:\\Windows\\system32\\config\\systemprofile.nuget\\packages 和 C:\\Windows\\SysWOW64\\config\\systemprofile 之间的引用不一致.nuget\\包。
<exec program="${MSBuildPath}" workingdir="${build.dir}" failonerror="true" >
<arg value="/v:d"/>
<arg value="/p:VisualStudioVersion=15.0"/>
<arg value="/toolsversion:15.0"/>
<arg value="/p:Configuration=release"/>
<arg value="/p:Platform=Mixed Platforms"/>
<arg value="/restore"/>
<arg value="/restoreProperty:RestorePackagesPath=${NuGetPackagesPath}"/>
<arg value="/fileLogger"/>
<arg value="${project.name}.sln"/>
</exec>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.