We have migrated ( after 4 months work) a project from NEt Core 2.2 to Net Core 3.1 with Blazor Server Side and we have a big difference for Developement Build time in Visual Studio:
- Net Core 2.2 Visual Studio 2019 : 15 Seconds ( Acceptable )
- Net Core 3.1 with Blazor Server Side Visual Studio 2019 : 1 Minute . ( Not Acceptable )
Visual studio Enterprise has the last update, We have migrated the .NET Core To : 3.1.7
Computer Configuration : Azure Server, Premium SSD, 8 CPU , 2.7 GHZ
It is there any way to improve Build Time for Developemnt Only ? It is time consumming to change just a small code and then to wait 1 minute to see the result.
We have Tried a lot of settings as we saw on the internet. The Project code is :
<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>
Thank's
Log
1>Target Performance Summary:
1> 0 ms CoreGenerateAssemblyInfo 1 calls
1> 0 ms PrepareResources 1 calls
1> 0 ms ResolvePackageDependenciesForBuild 1 calls
1> 0 ms RazorComponentGenerateCore 1 calls
1> 0 ms RazorGenerate 1 calls
1> 0 ms PrepareProjectReferences 1 calls
1> 0 ms PrepareForRazorGenerate 1 calls
1> 0 ms ResolveSDKReferences 1 calls
1> 0 ms ExpandSDKReferences 1 calls
1> 0 ms _RemoveRazorDeclartionsFromCompile 1 calls
1> 0 ms PrepareForRazorComponentGenerate 1 calls
1> 0 ms BeforeCompile 1 calls
1> 0 ms Build 1 calls
1> 0 ms GenerateFakes 1 calls
1> 0 ms AfterResolveReferences 1 calls
1> 0 ms ResolveReferences 1 calls
1> 0 ms AddSourceRevisionToInformationalVersion 1 calls
1> 0 ms InitializeSourceControlInformation 1 calls
1> 0 ms CopyAdditionalFiles 1 calls
1> 0 ms GenerateMSBuildEditorConfigFile 1 calls
1> 0 ms GenerateMSBuildEditorConfigFileShouldRun 1 calls
1> 0 ms SplitResourcesByCulture 1 calls
1> 0 ms CreateCustomManifestResourceNames 1 calls
1> 0 ms PrepareResourceNames 1 calls
1> 0 ms BeforeResGen 1 calls
1> 0 ms GetTypeScriptOutputForPublishing 1 calls
1> 0 ms RazorComponentGenerate 1 calls
1> 0 ms GenerateCompiledExpressionsTempFile 1 calls
1> 0 ms IncludeTransitiveProjectReferences 1 calls
1> 0 ms AddTransitiveFrameworkReferences 1 calls
1> 0 ms _CheckForUnsupportedNETCoreVersion 1 calls
1> 0 ms _CheckForUnsupportedCppNETCoreVersion 1 calls
1> 0 ms AfterBuild 1 calls
1> 0 ms CoreBuild 1 calls
1> 0 ms PrepareForRun 1 calls
1> 0 ms ComputeDependencyFileCompilerOptions 1 calls
1> 0 ms _ComputeUserRuntimeAssemblies 1 calls
1> 0 ms _CopySourceItemsToOutputDirectory 1 calls
1> 0 ms ResolveReferencedProjectsStaticWebAssets 1 calls
1> 0 ms GetTargetPath 1 calls
1> 0 ms CollectPackageReferences 1 calls
1> 0 ms GetTargetPathWithTargetPlatformMoniker 1 calls
1> 0 ms DesignTimeXamlMarkupCompilation 1 calls
1> 0 ms Compile 1 calls
1> 0 ms DisableAnalyzers 1 calls
1> 0 ms _GenerateRazorAssemblyInfo 1 calls
1> 0 ms _ComputePackageReferencePublish 1 calls
1> 0 ms _DefaultMicrosoftNETPlatformLibrary 1 calls
1> 0 ms BeforeResolveReferences 1 calls
1> 0 ms AfterCompile 1 calls
1> 0 ms ComputeRunAnalyzers 1 calls
1> 0 ms _BeforeVBCSCoreCompile 1 calls
1> 0 ms GetReferenceAssemblyPaths 1 calls
1> 0 ms GetFrameworkPaths 1 calls
1> 0 ms BuildOnlySettings 1 calls
1> 0 ms BeforeBuild 1 calls
1> 0 ms AfterResGen 1 calls
1> 1 ms RazorGenerateComponentDefinition 1 calls
1> 1 ms SetWin32ManifestProperties 1 calls
1> 1 ms _DiscoverMvcApplicationParts 1 calls
1> 1 ms GenerateTargetFrameworkMonikerAttribute 1 calls
1> 1 ms CleanupEmptyRefsFolder 1 calls
1> 1 ms ValidationExtension 1 calls
1> 1 ms _CheckForCompileOutputs 1 calls
1> 1 ms ResGen 1 calls
1> 1 ms _CollectTargetFrameworkForTelemetry 1 calls
1> 1 ms _GetAppHostPaths 1 calls
1> 1 ms ResolveLockFileAnalyzers 1 calls
1> 1 ms _GenerateSatelliteAssemblyInputs 1 calls
1> 1 ms _GetProjectJsonPath 1 calls
1> 1 ms ResolveStaticWebAssetsInputs 1 calls
1> 1 ms ResolveRazorGenerateInputs 1 calls
1> 1 ms GenerateAssemblyInfo 1 calls
1> 1 ms GetAssemblyAttributes 1 calls
1> 1 ms _CheckForObsoleteDotNetCliToolReferences 1 calls
1> 1 ms RazorGetAssemblyAttributes 1 calls
1> 1 ms _GetUserSecretsAssemblyAttribute 1 calls
1> 1 ms _CoreGenerateRazorAssemblyInfo 1 calls
1> 1 ms ResolveProjectReferences 1 calls
1> 1 ms BeforeGenerateFakesAssemblies 1 calls
1> 1 ms _PopulateCommonStateForGetCopyToOutputDirectoryItems 1 calls
1> 1 ms CreateSatelliteAssemblies 1 calls
1> 1 ms _PrepareForStaticWebAssets 1 calls
1> 1 ms CleanXsdCodeGen 1 calls
1> 1 ms _CheckForLanguageAndFeatureCombinationSupport 1 calls
1> 1 ms ComputeIntermediateSatelliteAssemblies 1 calls
1> 1 ms ResolveRazorComponentInputs 1 calls
1> 1 ms _SetTargetFrameworkMonikerAttribute 1 calls
1> 1 ms _SetEmbeddedWin32ManifestProperties 1 calls
1> 1 ms CreateManifestResourceNames 1 calls
1> 1 ms ExpressionBuildExtension 1 calls
1> 1 ms GetCopyToOutputDirectoryXamlAppDefs 1 calls
1> 1 ms EnableIntermediateOutputPathMismatchWarning 1 calls
1> 1 ms _SplitProjectReferencesByFileExistence 1 calls
1> 1 ms _GenerateCompileInputs 1 calls
1> 1 ms _ComputeNETCoreBuildOutputFiles 1 calls
1> 2 ms ApplyImplicitVersions 1 calls
1> 2 ms ValidateIdentityUIFrameworkVersion 1 calls
1> 2 ms _CheckForUnsupportedAppHostUsage 1 calls
1> 2 ms ResolveCodeAnalysisRuleSet 1 calls
1> 2 ms _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences 1 calls
1> 2 ms CheckFileSystemCaseSensitive 1 calls
1> 2 ms _CheckForInvalidConfigurationAndPlatform 1 calls
1> 2 ms GetTypeScriptCopyToOutputDirectoryItems 1 calls
1> 2 ms AssignRazorGenerateTargetPaths 1 calls
1> 2 ms CheckForImplicitPackageReferenceOverrides 1 calls
1> 3 ms _CreateRazorAssemblyInfoInputsCacheFile 1 calls
1> 3 ms GenerateBuildDependencyFile 1 calls
1> 3 ms _GetProjectReferenceTargetFrameworkProperties 1 calls
1> 3 ms _GenerateRuntimeConfigurationFilesInputCache 1 calls
1> 3 ms PreXsdCodeGen 1 calls
1> 3 ms TypeScriptDeleteOutputFromOtherConfigs 1 calls
1> 3 ms ResolveRazorConfiguration 1 calls
1> 3 ms _HashRazorGenerateInputs 1 calls
1> 3 ms _CopyOutOfDateSourceItemsToOutputDirectory 1 calls
1> 3 ms CreateGeneratedAssemblyInfoInputsCacheFile 1 calls
1> 3 ms _ResolveComponentRazorGenerateInputs 1 calls
1> 4 ms _GetCopyToOutputDirectoryItemsFromThisProject 1 calls
1> 6 ms ReportTypeScriptVersion 1 calls
1> 6 ms _GetRestoreProjectStyle 1 calls
1> 7 ms AssignRazorComponentTargetPaths 1 calls
1> 8 ms GenerateBuildRuntimeConfigurationFiles 1 calls
1> 8 ms UpdateAspNetToFrameworkReference 1 calls
1> 9 ms GetAssemblyVersion 1 calls
1> 9 ms ResolveLockFileReferences 1 calls
1> 9 ms ResolveTargetingPackAssets 1 calls
1> 10 ms AssignProjectConfiguration 1 calls
1> 10 ms ResolveFrameworkReferences 1 calls
1> 11 ms GetCopyToOutputDirectoryItems 1 calls
1> 11 ms ResolveLockFileCopyLocalFiles 1 calls
1> 11 ms _ComputeReferenceAssemblies 1 calls
1> 12 ms ProcessFrameworkReferences 1 calls
1> 12 ms _ResolveMvcAssemblyAttributes 1 calls
1> 13 ms _HashRazorComponentInputs 1 calls
1> 13 ms CopyFilesToOutputDirectory 1 calls
1> 18 ms _CreateStaticWebAssetsInputsCacheFile 1 calls
1> 20 ms ResolvePackageAssets 1 calls
1> 21 ms CoreResGen 1 calls
1> 23 ms ResolveAssemblyReferenceRazorGenerateInputs 1 calls
1> 24 ms PrepareForBuild 1 calls
1> 27 ms FindConfigFiles 1 calls
1> 30 ms _GenerateCompileDependencyCache 1 calls
1> 43 ms IncrementalClean 1 calls
1> 43 ms _CleanGetCurrentAndPriorFileWrites 1 calls
1> 47 ms CheckForDuplicateItems 1 calls
1> 50 ms _CopyFilesMarkedCopyLocal 1 calls
1> 83 ms _ResolveRazorGenerateOutputs 1 calls
1> 88 ms _CopyReferenceOnlyAssembliesForBuild 1 calls
1> 101 ms _HandlePackageFileConflicts 1 calls
1> 122 ms AssignTargetPaths 1 calls
1> 126 ms FindReferenceAssembliesForReferences 1 calls
1> 136 ms _ResolveRazorComponentOutputs 1 calls
1> 156 ms _CreateAppHost 1 calls
1> 307 ms GenerateSatelliteAssemblies 2 calls
1> 879 ms ResolveAssemblyReferences 1 calls
1> 1447 ms GenerateStaticWebAssetsManifest 1 calls
1> 1527 ms ResolveTagHelperRazorGenerateInputs 1 calls
1> 2057 ms RazorGenerateComponentDeclaration 1 calls
1> 2838 ms ResolveCurrentProjectStaticWebAssetsInputs 1 calls
1> 6867 ms RazorCoreGenerate 1 calls
1> 19849 ms RazorCompileComponentDeclaration 1 calls
1> 21464 ms CoreCompile 1 calls
1>
1>Task Performance Summary:
1> 0 ms Delete 2 calls
1> 0 ms FindInList 1 calls
1> 0 ms CheckFileSystemCaseSensitive 1 calls
1> 0 ms AssignCulture 1 calls
1> 1 ms ApplyImplicitVersions 1 calls
1> 1 ms CheckForImplicitPackageReferenceOverrides 1 calls
1> 1 ms ResolveFrameworkReferences 1 calls
1> 1 ms MSBuild 1 calls
1> 1 ms Telemetry 1 calls
1> 1 ms ResolveCodeAnalysisRuleSet 1 calls
1> 1 ms CheckForDuplicateFrameworkReferences 1 calls
1> 1 ms GetFrameworkPath 1 calls
1> 1 ms CreateCSharpManifestResourceName 1 calls
1> 3 ms Touch 2 calls
1> 3 ms JoinItems 1 calls
1> 3 ms Message 4 calls
1> 3 ms ReadLinesFromFile 1 calls
1> 3 ms ResolveAppHosts 1 calls
1> 4 ms GetRestoreProjectStyleTask 1 calls
1> 4 ms ProcessFrameworkReferences 1 calls
1> 4 ms FormatLocalizedString 1 calls
1> 4 ms GetPackageDirectory 6 calls
1> 7 ms ConvertToAbsolutePath 1 calls
1> 7 ms CheckIfPackageReferenceShouldBeFrameworkReference 2 calls
1> 7 ms ResolveTargetingPackAssets 1 calls
1> 8 ms AssignProjectConfiguration 1 calls
1> 9 ms GetAssemblyVersion 1 calls
1> 10 ms WriteLinesToFile 7 calls
1> 11 ms CallTarget 3 calls
1> 14 ms FindUnderPath 5 calls
1> 15 ms RemoveDuplicates 2 calls
1> 18 ms GenerateResource 1 calls
1> 19 ms ResolvePackageAssets 1 calls
1> 24 ms FindAppConfigFile 1 calls
1> 27 ms FindConfigFiles 1 calls
1> 31 ms Hash 7 calls
1> 37 ms RemoveDir 1 calls
1> 45 ms CheckForDuplicateItems 3 calls
1> 46 ms MakeDir 53 calls
1> 87 ms ResolvePackageFileConflicts 1 calls
1> 129 ms AssignTargetPath 11 calls
1> 145 ms Copy 6 calls
1> 155 ms CreateAppHost 1 calls
1> 303 ms AL 2 calls
1> 873 ms ResolveAssemblyReference 1 calls
1> 1523 ms RazorTagHelper 1 calls
1> 8746 ms RazorGenerate 2 calls
1> 41309 ms Csc 2 calls
1>
1>Build succeeded.
1> 0 Warning(s)
1> 0 Error(s)
1>