MSBuild缩短vcxproj文件中的配置管理 Windows版本:Microsoft Windows[Version 10.0.14393] MSBuild版本:Microsoft(R)-Buildmodul,版本15.1.1012.6693 该项目是用C编写的
在这个项目的MSBuild缩短vcxproj文件中的配置管理 Windows版本:Microsoft Windows[Version 10.0.14393] MSBuild版本:Microsoft(R)-Buildmodul,版本15.1.1012.6693 该项目是用C编写的,msbuild,vcxproj,Msbuild,Vcxproj,在这个项目的*.vcxproj文件中有很多这样的代码 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> [do some stuff] </ImportGroup> [做些事情] 对于所有配置,'Debug | Win32','Release | Win32','Debug | x64','Release | x64'。但是对于所有的组合我都有相同的配置,因此我不想写4
*.vcxproj
文件中有很多这样的代码
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
[do some stuff]
</ImportGroup>
[做些事情]
对于所有配置,'Debug | Win32'
,'Release | Win32'
,'Debug | x64'
,'Release | x64'
。但是对于所有的组合我都有相同的配置,因此我不想写4次,使我的项目文件长3倍,可读性差
是否有类似于
Condition=“”$(配置)|$(平台)的快捷方式“=='Any Configuration | Any Architecture'
?您可以删除条件
属性,并将导入组应用于每个配置。您可以删除条件
属性,并将导入组应用于每个配置。执行此操作的标准方法是使用“”;更具体:一个属性表,包含所有平台/配置组合导入的公共选项。选择此方法的一些原因:
- 它完全满足了您的“我将对所有组合使用相同的配置,因此我不想编写4次,使我的项目文件更长3倍,可读性更低”的要求,以及更多要求:它将公共选项保留在一个文件中,其他项目也可以继续使用该文件(如果您有多个项目,并且希望为它们提供相同的选项,那么这确实是第一卖点)
- 它具有编辑用户界面支持(尽管如果您想手动编辑vcxproj以添加它,这没有问题)
- 它保持了标准项目结构的完整性,因此仍然允许在需要时对每个配置和每个平台进行修改
- 属性表与其他任何文件一样,只是msbuild文件,因此可以导入其他文件,以便您可以使用它们创建层次结构,执行诸如基于应用程序类型(exe/dll)设置不同输出路径的主文件等操作
- 它完全满足了您的“我将对所有组合使用相同的配置,因此我不想编写4次,使我的项目文件更长3倍,可读性更低”的要求,以及更多要求:它将公共选项保留在一个文件中,其他项目也可以继续使用该文件(如果您有多个项目,并且希望为它们提供相同的选项,那么这确实是第一卖点)
- 它具有编辑用户界面支持(尽管如果您想手动编辑vcxproj以添加它,这没有问题)
- 它保持了标准项目结构的完整性,因此仍然允许在需要时对每个配置和每个平台进行修改
- 属性表与其他任何文件一样,只是msbuild文件,因此可以导入其他文件,以便您可以使用它们创建层次结构,执行诸如基于应用程序类型(exe/dll)设置不同输出路径的主文件等操作