Visual studio 为什么xamarin pcl构建需要这么长时间

Visual studio 为什么xamarin pcl构建需要这么长时间,visual-studio,xamarin,msbuild,Visual Studio,Xamarin,Msbuild,我目前正在visual studio 2017中使用平台UWP和Android进行一个Xamarin pcl项目。直到一个月前,项目的构建速度很快,但每次我更改某个内容,它都需要大约100秒才能完成构建 我的架构: 我有一个PCL项目与UWP和Android 此项目有4个库项目作为dlc 其中1个库有另一个库作为dlc 无论我的更改在哪里,它总是需要大约100秒才能生成。使用MSBuildPerformanceSummary或Diagnostic级别日志创建项目,在生成日志的末尾,您将收到两个性

我目前正在visual studio 2017中使用平台UWPAndroid进行一个Xamarin pcl项目。直到一个月前,项目的构建速度很快,但每次我更改某个内容,它都需要大约100秒才能完成构建

我的架构: 我有一个PCL项目与UWP和Android

此项目有4个库项目作为dlc

其中1个库有另一个库作为dlc

无论我的更改在哪里,它总是需要大约100秒才能生成。

使用MSBuild
PerformanceSummary
Diagnostic
级别日志创建项目,在生成日志的末尾,您将收到两个性能摘要<代码>目标和任务。从那时起,你将能够专注于你所需要的,实际上是花费最多的时间

i、 e


回复:

这是最大的两个,但我不知道这是否可以修复?1> 71555 ms BuildNativePackage 1调用2>70317 ms LoggerBaseDexectTask 1calls@TiesTheunissen
BuildNativePackage
是在构建本机
appx
包时使用的。这通常是CPU绑定的(并且磁盘绑定程度较低,尤其是在您有SSD的情况下),因为它调用编译器工具链将IL AOT转换为本机x86/arm代码。您可以在BuildAll期间观察任务管理器,以确定它是cpu还是磁盘绑定的…但除非将来有新的硬件(cpu和/或SSD驱动器),否则您不能做太多。它确实使用cpu。但CPU的使用率平均为40%。我有一个Intel(R)Core(TM)i5-3470处理器@3.20 Ghz和一个SSD。因此,如果CPU以100%的速度构建,这是有意义的,但如果平均值为40%,则不是wright?@TiesTheunissen本机/AOT编译器不是完全多线程的,因此单核速度和缓存大小是最重要的。调试配置使用CoreCLR,因此IL是可以的,但是当您切换到发行版时,需要使用本机,MS确实有很多提示,比如使用
NETNative.Analyzer
在调试模式下不断检查代码,等等。。
Target Performance Summary:
      ~~~~
      117 ms  _ResolveLibraryProjectImports              1 calls
      229 ms  _CollectAdditionalResourceFiles            1 calls
      271 ms  _ResolveAssemblies                         1 calls
      360 ms  _SetLatestTargetFrameworkVersion           1 calls
      362 ms  _CopyIntermediateAssemblies                1 calls
      422 ms  _CopyMdbFiles                              1 calls
      437 ms  _CreateBaseApk                             1 calls
      441 ms  _CreateAdditionalResourceCache             1 calls
      518 ms  _GenerateJavaStubs                         1 calls
      570 ms  _LinkAssembliesNoShrink                    1 calls
      602 ms  _UpdateAndroidResgen                       1 calls
      ~~~~

Task Performance Summary:
      ~~~~
      359 ms  ResolveSdks                                1 calls
      381 ms  CreateItem                               181 calls
      437 ms  CreateAdditionalLibraryResourceCache       1 calls
      495 ms  GenerateJavaStubs                          1 calls
      519 ms  Copy                                       9 calls
      567 ms  LinkAssemblies                             1 calls
     1134 ms  Csc                                        1 calls
     1915 ms  Aapt                                       3 calls
     2097 ms  Javac                                      1 calls
     ~~~~