首页 > 解决方案 > 可以将 Directory.Build.Props 的范围限制为单个 Visual Studio 解决方案吗?

问题描述

我有一个包含 100 多个项目的 Visual Studio 解决方案。我想将某些设置应用于所有项目,所以我使用了 Directory.Build.Props 文件,它工作得很好。但是,在阅读文档后,我才意识到子目录中的所有解决方案也将使用这些设置,但我不想影响这些解决方案,因为我不维护它们。有没有办法将 Directory.Build.Props 文件的范围限制为当前目录或特定解决方案?(也许您可以自定义 Props 文件的名称并为特定的解决方案导入它?)

例如,考虑这样组织的目录结构:

/code/MySolutionFile.sln
/code/Project001/
/code/Project002/
/code/Project003/
...
/code/Project100/

/code/OtherStuff/OtherStuff.sln
/code/OtherStuff/ProjectA
/code/OtherStuff/ProjectB
/code/OtherStuff/[lots of other solutions somewhere in this directory tree]

我已将Directory.Build.Props文件放在/code目录中,因为我想在/code/MySolutionFile.sln. 但我不想影响文件夹子目录中的任何其他解决方案/code

如果一切都失败了,我想我可以创建一个空的 Directory.Build.Props 文件并将其放入包含解决方案文件的每个目录中,除了我希望我的应用程序文件。(但这感觉像是最后的手段。)

标签: visual-studiomsbuild

解决方案


MSBuild 支持Conditions多种类型的元素,包括PropertyGroup单个属性。在这种情况下,您不需要Choose-When- 您可以直接将条件放在PropertyGroupor上TreatWarningsAserrors


推荐阅读