我正在使用 Visual Studio 2012 在 C++ 中进行开发;我在一个解决方案中有大约 25 个项目,它们都使用相同的属性表(.props
文件)。我现在需要使用所述道具文件的每个项目也使用特定.targets
文件。我不想编辑 25 个.vcxproj
文件中的每一个来添加导入标记(或通过 GUI 为每个项目添加导入),我想在.props
他们都已经使用的文件中放置一个导入语句。这甚至可能吗?我尝试.props
在关闭之前将在项目文件中工作的导入语句添加到文件中</Project>
标记,并在该位置的新导入组中,以及在文件顶部为属性表标记的现有但为空的导入组中,虽然没有报告错误,但它实际上并没有对导入语句做任何事情。
编辑: 我重写了预定义的 PostBuildEvent 目标,以便将 IgnoreStandardErrorWarningFormat 标志传递给 Exec。我的 postbuild 命令运行一个批处理文件,该文件运行一些单元测试,并且这些测试的 stdout 和 stderr 输出由 VS 根据这篇文章解析错误。IgnoreStandardErrorWarningFormat 标志禁用此解析。
这是我的 .targets 文件的内容:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PostBuildEvent" Condition="'$(PostBuildEventUseInBuild)'!='false'">
<Message Text="Description: %(PostBuildEvent.Message)" Condition="'% (PostBuildEvent.Message)' != '' and '%(PostBuildEvent.Command)' != ''"/>
<Exec IgnoreStandardErrorWarningFormat="True" Command="% (PostBuildEvent.Command)$(_BuildSuffix)" Condition="'%(PostBuildEvent.Command)' != ''"/>
</Target>
</Project>