visual-studio - 可以将 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 文件并将其放入包含解决方案文件的每个目录中,除了我希望我的应用程序文件。(但这感觉像是最后的手段。)
解决方案
MSBuild 支持Conditions
多种类型的元素,包括PropertyGroup
单个属性。在这种情况下,您不需要Choose-When
- 您可以直接将条件放在PropertyGroup
or上TreatWarningsAserrors
。