【发布时间】:2019-05-15 18:15:33
【问题描述】:
我有一个新的 Visual Studio 解决方案,其中包含大约 350 个项目。 Visual Studio 需要花费大量时间来编译 .sln 文件,因此我实现了 Directory.Build.props 以避免复制不需要复制到本地目录的引用,因此可以更快地构建。下面是我在根文件夹下的 Directory.Build.props 文件中使用的代码。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Reference>
<Private>False</Private>
</Reference>
<ProjectReference>
<Private>False</Private>
</ProjectReference>
</ItemDefinitionGroup>
</Project>
因为我将 Directory.Build.props 放在根文件夹下,它被应用于所有项目。
问题:: 如何从应用 Directory.Build.props 中排除少数项目,以便将引用复制到本地。
简而言之,我希望 Directory.Build.props 仅应用于解决方案文件下的 300 个项目,其余 50 个项目需要从中排除
我如何/在哪里可以在上面的代码中编写一个条件来排除受此代码影响的某些项目
【问题讨论】:
-
您可以切换到
Directory.Build.targets并让项目设置一个变量,说明他们是否希望应用规则。 -
您真的需要一个包含这么多项目文件的解决方案吗?在这些情况下,我会为系统的不同部分创建多个 .sln 文件。我很难相信你需要同时加载所有 350 个 :-)
-
要打开较少的项目,您还可以使用相对较新的解决方案过滤器:docs.microsoft.com/en-us/visualstudio/ide/…
标签: c# visual-studio-2017-build-tools