Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xamarin Forms very slow build time on iOS from Visual Studio

I'm developing a CRM app using

  • Xamarin Forms 2.3.3.180
  • Visual Studio 2015 Enterprise
  • Xamarin for Visual Studio 4.2.2.11
  • Xamarin iOS 10.3.1.8
  • Other components (syncfusion, devexpress, acr, servicestack, etc...)

Building all the projects begins to be really long and heavy. Now when I build in debug, attached to a device, It takes more than 9 minutes!!!

Someone have got similar issue and can help me? What can I do or check to reduce build time?

I have set build output verbosity to Diagnostic, this is the summary:

8>Target Performance Summary:
8>        0 ms  PrepareResourceNames                       1 calls
8>        0 ms  _OptimizePngImages                         1 calls
8>        0 ms  Compile                                    1 calls
8>        0 ms  ModifyUnitTestPlatformVersion              1 calls
8>        0 ms  ResolveSDKReferences                       1 calls
8>        0 ms  CreateIpa                                  1 calls
8>        0 ms  _OptimizePropertyLists                     1 calls
8>        0 ms  _ReadCompileImageAssets                    1 calls
8>        0 ms  AfterRebuild                               1 calls
8>        0 ms  DesignTimeXamlMarkupCompilation            1 calls
8>        0 ms  SetWin32ManifestProperties                 1 calls
8>        0 ms  BeforeCodesign                             1 calls
8>        0 ms  _CopyAppExtensionsToBundle                 1 calls
8>        0 ms  _CoreOptimizeLocalizationFiles             1 calls
8>        0 ms  _CompileTextureAtlases                     1 calls
8>        0 ms  Clean                                      1 calls
8>        0 ms  _CodesignFrameworks                        1 calls
8>        0 ms  _GenerateSatelliteAssemblyInputs           1 calls
8>        0 ms  CleanReferencedProjects                    1 calls
8>        0 ms  _OptimizeLocalizationFiles                 1 calls
8>        0 ms  _ResolveUniversalTypeIdentifiers           1 calls
8>        0 ms  ResolveCodeAnalysisRuleSet                 1 calls
8>        0 ms  _SetEmbeddedWin32ManifestProperties        1 calls
8>        0 ms  _CodesignNativeLibraries                   1 calls
8>        0 ms  _ResolveAppExtensionReferences             1 calls
8>        0 ms  _SetMtouchProjectDirectory                 1 calls
8>        0 ms  Archive                                    1 calls
8>        0 ms  CreateCustomManifestResourceNames          1 calls
8>        0 ms  _BeforeCoreCompileSceneKitAssets           3 calls
8>        0 ms  _CoreCompileTextureAtlases                 1 calls
8>        0 ms  GetCopyToOutputDirectoryXamlAppDefs        5 calls
8>        0 ms  BeforeCompile                              1 calls
8>        0 ms  AfterCompile                               1 calls
8>        0 ms  AfterBuild                                 1 calls
8>        0 ms  GetTargetPath                              5 calls
8>        0 ms  _SplitWatchAppReferencesByExistent         1 calls
8>        0 ms  BeforeRebuild                              1 calls
8>        0 ms  _SetTargetFrameworkMonikerAttribute        1 calls
8>        0 ms  _BeforeCoreCompileInterfaceDefinitions     1 calls
8>        0 ms  Build                                      1 calls
8>        0 ms  _PrepareResourceRules                      1 calls
8>        0 ms  InjectReference_f0961790-64cb-4db0-9ef7-5ca95aee54f3   1 calls
8>        0 ms  DeleteBuildInfoResource                    1 calls
8>        0 ms  ExpressionBuildExtension                   1 calls
8>        0 ms  AfterResGen                                1 calls
8>        0 ms  ValidationExtension                        1 calls
8>        0 ms  _CoreCompileSceneKitAssets                 1 calls
8>        0 ms  _CompileInterfaceDefinitions               1 calls
8>        0 ms  CleanPublishFolder                         1 calls
8>        0 ms  _ResolveWatchAppReferences                 1 calls
8>        0 ms  AfterCodesign                              1 calls
8>        0 ms  _CoreOptimizePropertyLists                 1 calls
8>        0 ms  PrepareRdlFiles                            1 calls
8>        0 ms  AfterClean                                 1 calls
8>        0 ms  DeleteBuildInfoFile                        1 calls
8>        0 ms  _CompileSceneKitAssets                     1 calls
8>        0 ms  PrepareForRun                              1 calls
8>        0 ms  SetBuildInfoDefaults                       1 calls
8>        0 ms  BeforeClean                                1 calls
8>        0 ms  ResolveReferences                          1 calls
8>        0 ms  Codesign                                   1 calls
8>        0 ms  CoreCodesign                               1 calls
8>        0 ms  AfterResolveReferences                     1 calls
8>        0 ms  _GenerateFrameworkDebugSymbols             1 calls
8>        0 ms  PrepareResources                           1 calls
8>        0 ms  _CopySourceItemsToOutputDirectory          1 calls
8>        0 ms  CompileRdlFiles                            1 calls
8>        0 ms  GetFrameworkPaths                          1 calls
8>        0 ms  BeforeResolveReferences                    1 calls
8>        0 ms  _CompileColladaAssets                      1 calls
8>        0 ms  BeforeResGen                               1 calls
8>        0 ms  _CompileImageAssets                        1 calls
8>        0 ms  _GenerateBundleName                        1 calls
8>        0 ms  BuildOnlySettings                          1 calls
8>        0 ms  EnsureNuGetPackageBuildImports             1 calls
8>        0 ms  _SplitAppExtensionReferencesByExistent     1 calls
8>        0 ms  ExpandSDKReferences                        1 calls
8>        0 ms  _SeparateAppExtensionReferences            1 calls
8>        0 ms  _ComputeTargetArchitectures                1 calls
8>        0 ms  _CoreCompileColladaAssets                  1 calls
8>        0 ms  CreateSatelliteAssemblies                  1 calls
8>        0 ms  _CoreXamlG                                 1 calls
8>        0 ms  Rebuild                                    1 calls
8>        0 ms  ResGen                                     1 calls
8>        0 ms  BeforeBuild                                1 calls
8>        0 ms  CoreBuild                                  1 calls
8>        0 ms  _CreateAppBundle                           1 calls
8>        0 ms  _DownloadNuGet                             1 calls
8>        0 ms  XamlG                                      1 calls
8>        1 ms  CleanXsdCodeGen                            1 calls
8>        1 ms  _CheckForInvalidTargetFrameworkProfile     7 calls
8>        1 ms  _ReadCoreCompileSceneKitAssets             1 calls
8>        1 ms  _BeforeCoreCompileImageAssets              1 calls
8>        1 ms  GetInstalledSDKLocations                   1 calls
8>        1 ms  _CleanUploaded                             1 calls
8>        1 ms  PreXsdCodeGen                              1 calls
8>        1 ms  _SeparateWatchAppReferences                1 calls
8>        1 ms  SplitResourcesByCulture                    1 calls
8>        1 ms  CoreResGen                                 1 calls
8>        1 ms  GetNativeManifest                          4 calls
8>        1 ms  _GenerateCompileInputs                     1 calls
8>        1 ms  _ReadCoreCompileInterfaceDefinitions       1 calls
8>        1 ms  _ReadCoreCompileTextureAtlases             1 calls
8>        1 ms  _CheckForCompileOutputs                    1 calls
8>        1 ms  _CollectXamlFiles                          1 calls
8>        1 ms  _CopyWatchOS2AppsToBundle                  1 calls
8>        1 ms  _CollectPropertyLists                      1 calls
8>        2 ms  _CollectLocalizationFiles                  1 calls
8>        2 ms  GenerateTargetFrameworkMonikerAttribute    1 calls
8>        2 ms  GetReferenceAssemblyPaths                  1 calls
8>        2 ms  _ParseExtraMtouchArgs                      1 calls
8>        2 ms  _PreXamlG                                  1 calls
8>        3 ms  GenerateCompiledExpressionsTempFile        1 calls
8>        3 ms  _SplitProjectReferencesByFileExistence     5 calls
8>        4 ms  _BeforeCompileTextureAtlases               3 calls
8>        4 ms  _DetectAppManifest                         1 calls
8>        4 ms  _CollectAssemblies                         1 calls
8>        4 ms  PrepareForBuild                            1 calls
8>        4 ms  _CollectColladaAssets                      1 calls
8>        4 ms  CopyFilesToMacOutputDirectory              1 calls
8>        5 ms  _CollectPngImages                          1 calls
8>        5 ms  CopyFilesToOutputDirectory                 1 calls
8>        5 ms  _CheckForInvalidConfigurationAndPlatform   8 calls
8>        9 ms  _CoreCompileImageAssets                    1 calls
8>       11 ms  _GenerateBuildSessionId                    1 calls
8>       12 ms  GetBundleResourceWithLogicalNameItems      1 calls
8>       21 ms  _AfterCoreOptimizePngImages                1 calls
8>       24 ms  AssignProjectConfiguration                 8 calls
8>       26 ms  _CreatePkgInfo                             1 calls
8>       26 ms  _CreateDebugConfiguration                  1 calls
8>       26 ms  AssignTargetPaths                          5 calls
8>       27 ms  CheckPrerequisites                         1 calls
8>       28 ms  _CreateAssetPackManifest                   1 calls
8>       31 ms  _DetectDebugNetworkConfiguration           1 calls
8>       33 ms  IncrementalClean                           1 calls
8>       38 ms  _EmbedMobileProvision                      1 calls
8>       39 ms  _ValidateAppBundle                         1 calls
8>       40 ms  _CollectFrameworks                         1 calls
8>       47 ms  _CopyITunesArtwork                         1 calls
8>       53 ms  GetCopyToOutputDirectoryItems              5 calls
8>       54 ms  ImplicitlyExpandDesignTimeFacades          1 calls
8>       79 ms  _CompileEntitlements                       1 calls
8>      101 ms  _CleanGetCurrentAndPriorFileWrites         1 calls
8>      112 ms  ResolveProjectReferences                   1 calls
8>      119 ms  _GetNativeExecutableName                   1 calls
8>      127 ms  _DetectSdkLocations                        1 calls
8>      132 ms  _CreateDebugSettings                       1 calls
8>      141 ms  XamlC                                      1 calls
8>      167 ms  _CollectITunesArtwork                      1 calls
8>      182 ms  _ComputeBundleResourceOutputPaths          1 calls
8>      193 ms  _DetectSigningIdentity                     1 calls
8>      203 ms  _CompileAppManifest                        1 calls
8>      224 ms  _CleanDeviceSpecificOutput                 1 calls
8>      329 ms  _CleanDebugSymbols                         1 calls
8>      345 ms  _CollectBundleResources                    1 calls
8>      357 ms  CoreClean                                  1 calls
8>      377 ms  _CleanAppBundle                            1 calls
8>      393 ms  RestorePackages                            1 calls
8>      406 ms  _CopyResourcesToBundle                     1 calls
8>      535 ms  _CleanMacBuild                             1 calls
8>      578 ms  _CleanITunesArtwork                        1 calls
8>      613 ms  GetBuiltProjectOutputRecursive             8 calls
8>      744 ms  _ConvertDebuggingFiles                     1 calls
8>      906 ms  _CopyFilesMarkedCopyLocal                  1 calls
8>      954 ms  CoreCompile                                1 calls
8>      991 ms  ResolveAssemblyReferences                  1 calls
8>     2125 ms  _SayGoodbye                                1 calls
8>     2690 ms  _SayHello                                  1 calls
8>     3122 ms  _CleanIntermediateToolOutput               1 calls
8>     5962 ms  _UnpackLibraryResources                    1 calls
8>     6088 ms  _CoreOptimizePngImages                     1 calls
8>     6670 ms  CopyIpaFromMac                             1 calls
8>     9556 ms  _CoreCompileInterfaceDefinitions           1 calls
8>    10048 ms  _CoreCreateIpa                             1 calls
8>    11692 ms  _ZipIpa                                    1 calls
8>    11778 ms  _CodesignAppBundle                         1 calls
8>    15093 ms  _CodesignVerify                            1 calls
8>    16257 ms  CopyDSYMFromMac                            1 calls
8>    25191 ms  _GenerateDebugSymbols                      1 calls
8>    46092 ms  _CompileITunesMetadata                     1 calls
8>    384931 ms  _CompileToNative                           1 calls
8>
8>Task Performance Summary:
8>        0 ms  ResolveCodeAnalysisRuleSet                 1 calls
8>        0 ms  FindAppConfigFile                          1 calls
8>        0 ms  GetFrameworkPath                           1 calls
8>        1 ms  CallTarget                                 1 calls
8>        1 ms  AssignCulture                              1 calls
8>        1 ms  ResolveNonMSBuildProjectOutput             1 calls
8>        1 ms  GetReferenceAssemblyPaths                  1 calls
8>        1 ms  FixedCreateCSharpManifestResourceName      1 calls
8>        2 ms  ParseExtraMtouchArgs                       1 calls
8>        2 ms  Message                                   18 calls
8>        3 ms  CollectMonotouchReferences                 1 calls
8>        4 ms  FindItemWithLogicalName                    1 calls
8>        4 ms  CopyFilesToBuildServer                     1 calls
8>        5 ms  ReadLinesFromFile                          2 calls
8>        8 ms  ConvertToAbsolutePath                      1 calls
8>        9 ms  GenerateBuildSessionId                     1 calls
8>       11 ms  AssignTargetPath                          30 calls
8>       19 ms  AssignProjectConfiguration                 8 calls
8>       21 ms  WriteItemsToFile                           3 calls
8>       21 ms  CreateItem                               129 calls
8>       25 ms  CreatePkgInfo                              1 calls
8>       26 ms  CreateDebugConfiguration                   1 calls
8>       28 ms  CreateAssetPackManifest                    1 calls
8>       31 ms  DetectDebugNetworkConfiguration            1 calls
8>       38 ms  EmbedMobileProvision                       1 calls
8>       38 ms  ValidateAppBundleTask                      1 calls
8>       40 ms  CollectFrameworks                          1 calls
8>       49 ms  FindUnderPath                              7 calls
8>       51 ms  RemoveDuplicates                           3 calls
8>       74 ms  WriteLinesToFile                          13 calls
8>       79 ms  CompileEntitlements                        1 calls
8>       86 ms  CompileAppManifest                         1 calls
8>      118 ms  DetectSdkLocations                         1 calls
8>      119 ms  GetNativeExecutableName                    1 calls
8>      131 ms  CreateDebugSettings                        1 calls
8>      140 ms  XamlCTask                                  1 calls
8>      167 ms  CollectITunesArtwork                       1 calls
8>      181 ms  ComputeBundleResourceOutputPaths           1 calls
8>      193 ms  DetectSigningIdentity                      1 calls
8>      348 ms  CollectBundleResources                     2 calls
8>      385 ms  SmartCopy                                  1 calls
8>      393 ms  Exec                                       1 calls
8>      665 ms  ConvertPdbToMdb                            1 calls
8>      712 ms  MsBuild                                   12 calls
8>      952 ms  Csc                                        1 calls
8>      990 ms  ResolveAssemblyReference                   1 calls
8>     1258 ms  Copy                                      21 calls
8>     1488 ms  Delete                                    14 calls
8>     2125 ms  SayGoodbye                                 1 calls
8>     2537 ms  LocalUnzip                                 1 calls
8>     2690 ms  SayHello                                   1 calls
8>     3053 ms  Ditto                                      1 calls
8>     3329 ms  MakeDir                                    5 calls
8>     3408 ms  CollectITunesSourceFiles                   1 calls
8>     4600 ms  RemoveDir                                  9 calls
8>     5961 ms  UnpackLibraryResources                     1 calls
8>     6074 ms  OptimizeImage                              1 calls
8>     8126 ms  SpotlightIndexer                           1 calls
8>     9474 ms  CopyFileFromMac                            2 calls
8>     9544 ms  IBTool                                     1 calls
8>    11777 ms  Codesign                                   1 calls
8>    15093 ms  CodesignVerify                             1 calls
8>    16798 ms  DSymUtil                                   1 calls
8>    22417 ms  Zip                                        2 calls
8>    46092 ms  CompileITunesMetadata                      1 calls
8>    384918 ms  MTouch                                     1 calls
8>
8>Build succeeded.
8>
8>Time Elapsed 00:09:26.72
like image 917
Ezin82 Avatar asked Nov 09 '22 00:11

Ezin82


1 Answers

Give Visual Studio 2017 for Mac a try. I was having build times like 5 minutes for my Xamarin.Forms iOS app in VS2015 on Windows.
Now using VS for Mac to build the same project takes about 20 - 40 seconds.
Vs 2015 is on a Windows 10 VM running on my 2011 MBP.
VS for mac on the same MBP.

like image 164
callisto Avatar answered Jan 04 '23 03:01

callisto