Msbuild &引用;错误MSB4057缺少目标包“;在构建.netstandard nuget包时

Msbuild &引用;错误MSB4057缺少目标包“;在构建.netstandard nuget包时,msbuild,nuget,visual-studio-2017,.net-standard,Msbuild,Nuget,Visual Studio 2017,.net Standard,我正在尝试使用VS2017 RC创建一个.netstandard nuget包。它构建得很好,但是当我尝试使用 msbuild /t:pack /p:Configuration=Release 我得到一个错误,目标包在我的解决方案中不可用: 错误MSB4057:项目中不存在目标“包” 我真的不知道该如何处理这条消息,也不知道应该在哪里修复它。有什么建议吗?命令msbuild/t:pack/p:Configuration=Release指定msbuild应在生成脚本中运行pack目标。该错误表示

我正在尝试使用VS2017 RC创建一个.netstandard nuget包。它构建得很好,但是当我尝试使用

msbuild /t:pack /p:Configuration=Release
我得到一个错误,目标包在我的解决方案中不可用:

错误MSB4057:项目中不存在目标“包”


我真的不知道该如何处理这条消息,也不知道应该在哪里修复它。有什么建议吗?

命令
msbuild/t:pack/p:Configuration=Release
指定msbuild应在生成脚本中运行
pack
目标。该错误表示MSBuild无法在生成脚本(或其导入之一)中找到该目标。你仔细检查过你的先决条件了吗?您可能使用了错误的构建脚本,或者它缺少一个
标记。

多亏了上的一个答案,我才能够让它工作

您必须在build命令中指定.csproj,这样它就不会尝试使用解决方案文件(.sln)

msbuild“C:\Users\Administrator\Documents\visual studio 2017\Projects\AppLogger\AppLogger\AppLogger.csproj”/t:pack/p:Configuration=Release


此外,我还必须从NuGet安装NuGet.Build.Tasks.Pack“包。

在使用目标之前必须导入目标。在使用目标之前的项目文件中写入:

  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />


.csproj参数不是必需的,如果.sln不在项目文件夹中。但是NuGet.Build.Tasks.Pack可以完成这个任务。对我来说,只需在Build命令中指定.csproj文件就可以了。