.net core 缩短Net Core 3.1 Blazor服务器端Visual Studio 2019的开发构建时间
我们已经用Blazor服务器端将一个项目(经过4个月的工作)从NEt Core 2.2迁移到NEt Core 3.1,我们在Visual Studio中的开发构建时间有很大的不同:.net core 缩短Net Core 3.1 Blazor服务器端Visual Studio 2019的开发构建时间,.net-core,build,blazor,server-side,.net Core,Build,Blazor,Server Side,我们已经用Blazor服务器端将一个项目(经过4个月的工作)从NEt Core 2.2迁移到NEt Core 3.1,我们在Visual Studio中的开发构建时间有很大的不同: Net Core 2.2 Visual Studio 2019:15秒(可接受) Net Core 3.1与Blazor服务器端Visual Studio 2019:1分钟。(不可接受) Visual studio Enterprise最近一次更新时,我们已将.NET核心迁移到:3.1.7 计算机配置:Azure
- Net Core 2.2 Visual Studio 2019:15秒(可接受)
- Net Core 3.1与Blazor服务器端Visual Studio 2019:1分钟。(不可接受)
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UserSecretsId>....</UserSecretsId>
<ServerGarbageCollection>false</ServerGarbageCollection>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<RazorCompileOnPublish>true</RazorCompileOnPublish>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<BlazorLinkOnBuild Condition="'$(Configuration)'!='Release'">false</BlazorLinkOnBuild>
<RunCodeAnalysis>false</RunCodeAnalysis>
<UseRazorBuildServer>false</UseRazorBuildServer>
<DisableImplicitAspNetCoreAnalyzers>true</DisableImplicitAspNetCoreAnalyzers>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BlazorDateRangePicker" Version="2.9.0" />
<PackageReference Include="Blazored.LocalStorage" Version="3.0.0" />
<PackageReference Include="Blazored.SessionStorage" Version="1.0.12" />
<PackageReference Include="BlazorInputFile" Version="0.2.0" />
<PackageReference Include="ChartJs.Blazor" Version="1.1.0" />
<PackageReference Include="EPPlus" Version="5.2.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview3.20168.3" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.7"/>
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="3.1.7" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.7" />
<PackageReference Include="Hangfire" Version="1.7.12" />
<PackageReference Include="MailKit" Version="2.8.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.0" />
</ItemGroup>
您是否尝试记录构建以查看花费了这么长时间的原因?你只是在建还是重建,因为重建很昂贵。谢谢你的回复。当我们在.razor文件中更改某些内容时,我们单击save和Cntrl-F5,我不知道其他编译方法。我已经编辑了这个问题,并从日志中添加了一些部分。老实说,我不知道去哪里找。似乎RazorComponentDeclaration(19849 ms)、CoreCompile(21464 ms CoreCompile)、RazorGenerate(8746 ms RazorGenerate)等等。我的第一个建议是将组件拆分为Razor类库——分离得越多越好(在某种程度上),这样增量构建就需要编译得越少。这是一个特别大的解决方案吗?您是否正在构建快速SSD?已禁用源文件夹上的防病毒扫描?如果您使用Ctrl-F5运行,则可以尝试在更改后按Ctrl+b,而不是按Ctrl-F5-它应该只生成并重新启动-对我来说,这比已运行的Ctrl-F5更快解决方案只有一个项目,其中包含所有文件。现在我已经拆分成了更多的项目:表示层(Blazor和一些助手)、共享库(一些共享助手)、数据访问库(迁移和DB上下文)、业务逻辑服务(服务和数据库查询)和it现在只需20秒(如您所说使用Ctrl-B)。20秒的差异来自迁移,因为在此期间有:663个文件。是的,我使用我们在更多服务器和计算机上测试过的SSD。当前计算机位于Azure F8s v2服务器16 GB、8个CPU中。没有防病毒软件。