"错误MSB4057缺少目标包"在构建.netstandard nuget包时

时间:2016-12-07 15:13:09

标签: msbuild nuget visual-studio-2017 .net-standard

我尝试使用VS2017 RC在these instructions之后创建一个.netstandard nuget包。它构建良好,但当我尝试使用

创建包
msbuild /t:pack /p:Configuration=Release

我收到错误,目标 pack 在我的解决方案中不可用:

  

错误MSB4057:目标"包"在项目中不存在。

我不确定如何处理此消息或我应该在哪里修复它。有什么建议吗?

3 个答案:

答案 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)' != ''" />