我对MSBuild了解甚少。
最近,我读到了一个关于对于大型解决方案将“copy local”设置为false可以显著减少编译时间的方法。 我找到了一种方法,通过在MSBuild扩展路径中设置一个名为CustomAfterMicrosoftCommon.targets的机器级文件来将默认设置设置为false。
这个方法很有效,但是存在一些问题。
-这个默认值设置是系统范围内的,我希望它只针对特定的解决方案。我不想在项目级别上设置它,因为我在几个不同的解决方案中有很多项目。
-我希望这个默认值应用于“非输出项目”。我的意思是说,类库项目不应该将copy local设置为true。然而,主应用程序项目需要将copy local设置为true以便运行类库依赖项。 理想情况下,对于那些输出项目,我希望回退到更智能的开箱即用的默认值,它足够聪明,可以确定引用是否应该是私有的。我想我可以将默认值设置为Copy Local false,然后在必要的地方明确地将Copy Local设置为true。鉴于通常没有太多的输出项目,这并不太糟糕,但我想知道是否有人提出了更好的解决方案。
有什么想法吗?