csproj文件中可重用的PropertyGroup元素

时间:2012-02-22 18:27:17

标签: c# visual-studio-2010 csproj

我需要在~15个项目中设置一系列属性。有没有办法将这些属性放在一个文件中,让所有项目文件使用某种导入指令引用一个文件而不是复制每个项目文件中的属性?

编辑:为了澄清,我在讨论csproj文件中的<PropertyGroup>个元素。所有项目都需要相同系列的<PropertyGroup>设置。这些元素设置了DebugSymbolsDefineDebug等属性,不用于引用源文件。

2 个答案:

答案 0 :(得分:18)

可以使用<Import>元素,类似于使用自定义目标文件的方式。

可重用文件应如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <!-- Properties go here -->
    </PropertyGroup>
</Project>

请注意,需要使用带有Project声明的根xmlns元素 - 如果没有它,VS将不会加载引用此文件的项目。

我已将我的属性设置保存在我的解决方案目录中,如ProjectBuildProperties.targets。

要将文件包含在其他项目中,我已将其添加到csproj文件中:

<Import Project="$(SolutionDir)ProjectBuildProperties.targets"/>

它有效!

答案 1 :(得分:2)

您可以创建可由所有项目导入的共享MSBuild文件。

post讨论此解决方案并演示here