我一直在开发一个WinForms应用程序,该应用程序包含大约5个由我们编写的引用程序集,以及约8个由第三方编写的引用程序集(除非将来出现严重错误,否则我们将不希望对其进行更新-Infragistics/DevExpress组件! )。
我们在冷靴上的启动时间太高了,我想知道是不是要把它们添加到Gac上并对其进行创新。
当我们安装到NGen缓存中时,它是否也需要位于gac中?两者之间有什么联系?我应该瞄准哪一个?我们有一个exe,我会做一个ILMerge,但是我不确定这在我们的情况下是否可以工作-长话短说。
另外,是否有可能获得我的exe占用的内存-就像Java应用程序一样(如Netbeans!)
最佳答案
缩短启动时间的主要思想是尽可能使用延迟初始化。启动后不要实例化不必要的东西。使用lazy init模式。在显示主窗体后也可以启动后台初始化工作程序以执行非关键初始化。等等等等
您还可以检查以下article (Improving Application Startup Time)。
关于c# - NGen和Gacutil最佳做法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1042200/