Jam*_*ger 1 msbuild visual-studio visual-studio-2017
我正在使用 Visual Studio 2017 并且我有一个预构建事件。
我有一个项目位于C:\Project\src\Project\,批处理文件doSomething.bat位于C:\Project\src\Project\doSomething.bat。
在我的预构建事件中,我想运行doSomething.bat,所以我有这个脚本:
cd $(ProjectDir) && call ./doSomething.bat
Run Code Online (Sandbox Code Playgroud)
然而,$(ProjectDir)实际上把我放在C:\Project\src\Project\bin\Debug\netcoreapp1.1\
这不是文档说明的内容。我怎样才能解决这个问题?
对于基于 SDK 的项目PreBuildEvent并且PostBuildEvent过早评估以接收许多属性的“最终”值,它们甚至被认为已弃用(请参阅https://github.com/dotnet/project-system/issues/1569)
作为一种快速的解决方法,您可以使用$(MSBuildProjectDirectory)or$(MSBuildThisFileDirectory)它将为您提供.csproj文件所在。
对于更集成的解决方案,您可以像这样向 csproj 文件添加自定义目标(无需cd步骤):
<Target Name="MyAfterBuild" AfterTargets="Build">
<Exec Command="test.bat" />
</Target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2461 次 |
| 最近记录: |