在一个相对较小的解决方案(40个项目)上,我试图实现Microsoft.Net.Compilers Nuget包。我是通过Directory.build.props
文件:
<Project>
<ItemGroup>
<PackageReference Include="Microsoft.Net.Compilers" Version="2.8.0"/>
<!-- some other packages down below here that where already there -->
</ItemGroup>
</Project>
在使用该软件包之前,在Visual Studio 2017(15.7.0)中从头开始编译整个项目大约需要18秒。实施包后,大约需要80秒。我可以想象nuget包会让事情变得有点慢。但我不希望它花费4倍的时间。
在互联网上浏览时,我发现https://github.com/dotnet/roslyn/issues/12360用户在那里描述了或多或少相同的症状我注意到了(多个csc.exe在编译时声称拥有完整的CPU能力。差异是我有一个VBCSompiler.exe,但它声称0%cpu。)我尝试了在我的csproj文件中设置UseSharedCompilation
属性为true的讨论中的解决方法(该属性之前不存在),但是没有& #39; t帮助。
TLTR: 是否有一些理由说明Microsoft.Net.Compilers会大大增加编译时间?或者也许是一种了解所有时间的方式?
版本摘要: