我有几个Visual Studio 2010 C#项目。我想让他们都有相同的post build事件。基本上我希望他们在某处复制他们的输出。我想我可以使用< import>来做到这一点。每个csproj文件中的语句,但我似乎无法弄清楚导入文件中需要的属性/目标。你有什么建议吗?
编辑:我尝试了以下但无法使其工作。这就是Imports.props文件的样子:<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AfterBuild">
<Message Text="Here I come to save the day!" />
</Target>
</Project>
然后我将它包含在csproj文件中:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="Imports.props" />
...
我也尝试过Imports.props:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PostBuildEvent>echo Here I come to save the day!</PostBuildEvent>
</PropertyGroup>
</Project>
答案 0 :(得分:4)
确保在 Microsoft.Common.targets导入后导入目标文件,因为该文件定义了一个空的AfterBuild目标,该目标将覆盖目标文件中的定义。
答案 1 :(得分:1)
<import>
和公共构建文件中的<AfterBuild>
目标。
CommonTargets http://msdn.microsoft.com/en-us/library/ms171464.aspx
TargetOrder http://msdn.microsoft.com/en-us/library/ms171462.aspx
答案 2 :(得分:0)
我设法通过属性表共享构建脚本,将其写为继承属性表中的宏。然后在任何需要它们的项目中调用宏。
在(VS2005)下找到了宏: 通用属性 - &gt;用户宏
请记住,只要订单正确,您就可以将宏放在其他宏中。