我正在使用Visual Studio 2017,我想添加一个post-build命令。当我进入'宏'窗口时,我看到正确的路径核心为$(ProjectDir)变量。所以我添加了命令:
$(ProjectDir)ClientApp \ npm run build
但是当我执行构建时,我收到以下错误:
命令'ClientApp \ npm run build'与代码3一起使用。
我将MSBuild verbose更改为Diagnose,并在Output窗口中看到:
1>在文件“C:\ Program Files(x86)\ Microsoft”中定位“PostBuildEvent” 视觉 工作室\ 2017年\社区\的MSBuild \ 15.0 \斌\ Microsoft.Common.CurrentVersion.targets“: 1 GT;使用程序集“Microsoft.Build.Tasks.Core”中的“Exec”任务, Version = 15.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a“。 1 GT;任务“Exec”1>任务 参数:WorkingDirectory = bin \ Debug \ netcoreapp1.1 \ 1>任务 参数:Command = ClientApp \ npm run build 1> ClientApp \ npm运行 构建1>该系统找不到指定的路径。 1 GT;
C:\ Program Files(x86)\ Microsoft Visual 工作室\ 2017年\社区\的MSBuild \ 15.0 \斌\ Microsoft.Common.CurrentVersion.targets(4933,5): 错误MSB3073:命令“ClientApp \ npm run build”退出并带有代码 3. 1>完成执行任务“Exec” - FAILED。
在目标文件中,我得到了以下这些内容:
<Target
Name="PostBuildEvent"
Condition="'$(PostBuildEvent)' != '' and ('$(RunPostBuildEvent)' != 'OnOutputUpdated' or '$(_AssemblyTimestampBeforeCompile)' != '$(_AssemblyTimestampAfterCompile)')"
DependsOnTargets="$(PostBuildEventDependsOn)">
<Exec WorkingDirectory="$(OutDir)" Command="$(PostBuildEvent)" />
</Target>
我可以将工作目录从$(OutDir)更改为$(ProjectDir)以及如何更改?
我误认为的任何想法? 注意 - 我在BAT文件中添加了命令,只是为了测试但结果是相同的
答案 0 :(得分:8)
尝试$(MSBuildProjectDirectory)