【发布时间】:2017-11-22 19:31:27
【问题描述】:
项目 A(一个网络应用程序)依赖于项目 B(一个 exe) - 我需要使用项目 A 的构建后事件将 exe 从项目 A 的 bin 复制到项目 A 的 wwwroot。
我想在不知道构建配置或目标框架的情况下从它被丢弃的任何地方(bin/debug 或 bin/release 或 bin/debug/netcoreapp2.0 等)复制二进制文件。现在我正在这样做:
copy /Y $(ProjectDir)bin\debug\netcoreapp2.0\app.exe $(ProjectDir)wwwroot\exe\app.exe
这在本地工作得很好,但是当它使用 Release 配置在其他地方构建时,它会失败。我可以使用一些 if/then 检查,但我宁愿有一个宏来替换路径的 $(ProjectDir)bin\debug\netcoreapp2.0 块,所以我总是在不了解配置/框架的情况下获取我需要的东西。
我尝试使用$(OutDir) 和$(TargetDir),但没有成功 - 这些只是给了我非bin 路径。
我应该使用哪个宏?
【问题讨论】:
-
作为一个选项,您可以将 OutDir 属性设置为所需位置并完全跳过构建后步骤,例如。 G。
<OutDir>..\wwwroot\exe\</OutDir>在不以任何东西为条件的 PropertyGroup 中。
标签: .net visual-studio msbuild post-build-event