2010-09-09 5 views
1

Ma solution C# prend plus de temps à compiler que je voudrais.Façon de profiler le processus de construction?

Existe-t-il un moyen de profiler le processus de construction pour voir ce qui prend si longtemps?

+1

Lorsque vous affichez la sortie de texte brut, il devrait vous donner une assez bonne idée de ce qui se le temps. –

Répondre

0

Une astuce que vous pouvez utiliser est de créer plusieurs configurations de construction afin que vous puissiez créer des projets de manière sélective, en ne construisant que des changements plutôt que la solution entière à chaque fois.

6

Il existe déjà un profileur intégré dans MSBuild. Outils + Options, Projets et Solutions, Construire et Exécuter, "MSBuild project build verbosity". Changez-le en diagnostic.

sortie de l'échantillon d'un projet qui ne fait rien:

Project Performance Summary: 
     400 ms C:\Users\hpassant\AppData\Local\Temporary Projects\WindowsFormsApplication3\WindowsFormsApplication3.csproj 1 calls 
       400 ms Rebuild         1 calls 

Target Performance Summary: 
     0 ms CreateSatelliteAssemblies     1 calls 
     0 ms ResolveReferences       1 calls 
     0 ms _CheckForInvalidConfigurationAndPlatform 1 calls 
     0 ms _SetTargetFrameworkMonikerAttribute  1 calls 
     0 ms ResGen          1 calls 
     0 ms BeforeResGen        1 calls 
     0 ms GetReferenceAssemblyPaths     1 calls 
     0 ms AfterCompile        1 calls 
     0 ms PrepareResources       1 calls 
     0 ms AfterCompileWinFX       1 calls 
     0 ms AfterResGen        1 calls 
     0 ms _ComputeNonExistentFileProperty   1 calls 
     0 ms BeforeClean        1 calls 
     0 ms Build          1 calls 
     0 ms GetTargetPath        1 calls 
     0 ms GetFrameworkPaths       1 calls 
     0 ms CompileRdlFiles       1 calls 
     0 ms AfterMarkupCompilePass1     1 calls 
     0 ms AfterResolveReferences      1 calls 
     0 ms BeforeBuild        1 calls 
     0 ms _CopySourceItemsToOutputDirectory   1 calls 
     0 ms _AfterCompileWinFXInternal     1 calls 
     0 ms CleanPublishFolder       1 calls 
     0 ms Clean          1 calls 
     0 ms CreateCustomManifestResourceNames   1 calls 
     0 ms PrepareResourceNames      1 calls 
     0 ms AfterRebuild        1 calls 
     0 ms PrepareRdlFiles       1 calls 
     0 ms CleanReferencedProjects     1 calls 
     0 ms ComputeIntermediateSatelliteAssemblies  1 calls 
     0 ms AfterClean         1 calls 
     0 ms BuildOnlySettings       1 calls 
     0 ms BeforeCompile        1 calls 
     0 ms SetWin32ManifestProperties     1 calls 
     0 ms FileClassification       1 calls 
     0 ms BeforeResolveReferences     1 calls 
     0 ms PrepareForRun        1 calls 
     0 ms DesignTimeMarkupCompilation    1 calls 
     0 ms CoreBuild         1 calls 
     0 ms Rebuild         1 calls 
     0 ms Compile         1 calls 
     0 ms GenerateTargetFrameworkMonikerAttribute 1 calls 
     0 ms AfterBuild         1 calls 
     0 ms _SplitProjectReferencesByFileExistence  1 calls 
     1 ms SplitResourcesByCulture     1 calls 
     1 ms GetCopyToOutputDirectoryItems    1 calls 
     1 ms _CheckForCompileOutputs     1 calls 
     1 ms _GenerateCompileInputs      1 calls 
     1 ms DesignTimeXamlMarkupCompilation   1 calls 
     1 ms PrepareForBuild       1 calls 
     1 ms _GenerateSatelliteAssemblyInputs   1 calls 
     1 ms CreateManifestResourceNames    1 calls 
     1 ms _SetEmbeddedWin32ManifestProperties  1 calls 
     1 ms BeforeRebuild        1 calls 
     1 ms ResolveProjectReferences     1 calls 
     1 ms IncrementalClean       1 calls 
     2 ms _CleanGetCurrentAndPriorFileWrites   1 calls 
     5 ms CopyFilesToOutputDirectory     1 calls 
     6 ms ResolveAssemblyReferences     1 calls 
     7 ms AssignTargetPaths       1 calls 
     13 ms CoreResGen         1 calls 
     54 ms CoreClean         1 calls 
     298 ms CoreCompile        1 calls 

Task Performance Summary: 
     0 ms GetFrameworkPath       1 calls 
     0 ms ReadLinesFromFile       2 calls 
     0 ms ConvertToAbsolutePath      1 calls 
     0 ms RemoveDuplicates       3 calls 
     0 ms AssignCulture        1 calls 
     0 ms CreateCSharpManifestResourceName   1 calls 
     0 ms MakeDir         2 calls 
     1 ms FindAppConfigFile       1 calls 
     1 ms FindUnderPath        7 calls 
     1 ms Message         3 calls 
     2 ms WriteLinesToFile       2 calls 
     4 ms Copy          2 calls 
     5 ms ResolveAssemblyReference     1 calls 
     6 ms AssignTargetPath       5 calls 
     12 ms GenerateResource       1 calls 
     51 ms Delete          3 calls 
     298 ms Csc          1 calls 
Questions connexes