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