我尝试使用VS2017 RC在these instructions之后创建一个.netstandard nuget包。它构建良好,但当我尝试使用
创建包msbuild /t:pack /p:Configuration=Release
我收到错误,目标 pack 在我的解决方案中不可用:
错误MSB4057:目标"包"在项目中不存在。
我不确定如何处理此消息或我应该在哪里修复它。有什么建议吗?
答案 0 :(得分:10)
感谢MSDN forums上的答案,我能够让它发挥作用。
您必须在构建命令中指定.csproj,以便它不会尝试使用解决方案文件(.sln)。
msbuild" C:\ Users \ Administrator \ Documents \ visual studio 2017 \ Projects \ AppLogger \ AppLogger \ AppLogger.csproj" / t:pack / p:Configuration = Release
另外我必须安装NuGet.Build.Tasks.Pack"来自NuGet的包裹。
答案 1 :(得分:1)
命令msbuild /t:pack /p:Configuration=Release
指定MSBuild应在构建脚本中运行pack
目标。该错误表明MSBuild无法在构建脚本(或其中一个导入)中找到该目标。你仔细检查过你的先决条件了吗?您使用了错误的构建脚本,或者它缺少<import>
标记。
答案 2 :(得分:0)
您必须在使用目标之前导入目标。在使用目标之前的项目文件中写:
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />