在 Visual Studio 2013(或 2015)中,我有一个特定项目,在构建后事件中,我试图将 $(TargetDir) 传递给批处理文件。
问题是,所有的宏都是空的,除了以“解决方案”开头的宏。此外,所有宏都正确显示在“编辑构建后事件命令行”对话框中。
例子
echo ConfigurationName is "$(ConfigurationName)"
结果是
Configuration name is ""
在 Visual Studio 2013(或 2015)中,我有一个特定项目,在构建后事件中,我试图将 $(TargetDir) 传递给批处理文件。
问题是,所有的宏都是空的,除了以“解决方案”开头的宏。此外,所有宏都正确显示在“编辑构建后事件命令行”对话框中。
例子
echo ConfigurationName is "$(ConfigurationName)"
结果是
Configuration name is ""
我有同样的问题。根据https://social.msdn.microsoft.com/Forums/vstudio/en-US/179716e8-89eb-40ff-ba13-339e2d25d1c8/outdir-and-targetpath-macros-are-empty?forum=msbuild _删除PropertyGroup
csproj 文件中的 ,然后再次在 Visual Studio 中添加构建事件。
再次添加后,它将位于 csproj 文件的末尾,并且宏应该可以工作。
尝试 $(Configuration) 而不是 $(ConfigurationMode),我也遇到了这个问题,这解决了它,虽然我不知道它为什么会发生......
我想我想通了。当我打开多个 VS 实例时,这似乎会发生。尝试关闭所有实例或 VS 并启动一个。