将NGen与Wix工具集一起用于AddIn Express Excel Addin

问题描述:

我想提高使用AddIn Express开发的.NET Excel Addin的首次运行性能。将NGen与Wix工具集一起用于AddIn Express Excel Addin

插件在第一次执行各种任务期间缓慢运行的原因是因为JIT花时间将MSIL转换为本机可执行的机器代码。

解决此问题的标准方法是从您的安装程序在您的程序集上运行NGen以预生成本机代码。

我为我的安装程序使用了Wix Toolset,并试图让事情正确设置,但我仍然没有摆脱慢速的初始执行问题,所以我想知道是否有某些特定的事情需要我去做这个工作使用Addin Express Excel Addins。我的插件安装到%LocalAppData%文件夹,以防万一信息很重要。

我跟着导游在这里: http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/ngen_managed_assemblies.html http://wixtoolset.org/documentation/manual/v3/xsd/netfx/nativeimage.html

,并有这样的事情在我的维克斯XML:

<netfx:NativeImage Id="ngen_MyExcelAddin.dll" Platform="all" Priority="0" AppBaseDirectory="TARGETDIR" /> 

我的安装程序建立精细和安装罚款,但缓慢的初始执行问题呢不要走开,让我相信它仍在使用JIT。我最初的想法是,我可能需要指定AssemblyApplication属性,但我已经尝试将各种AddinExpress dll(adxloader64.dll,adxloader.dll,AddinExpress.XL.2005.dll,AddinExpress.MSO.2005.dll)设置为没有成功。任何帮助将不胜感激。

+0

貌似adxloader不加载本机图像由NGen生成..您是否尝试联系Add-in Express开发人员? –

+0

[Fusion logging](http://www.grimes.nildram.co.uk/workshops/fusWSTwelve.htm#log_binding_native_images)将有助于查找加载程序集的文件。启用成功绑定和本机图像。 –

在阅读了其他论坛上的一些评论之后,NGen似乎需要一个需要管理员权限的安装程序,并且需要在GAC中安装dll。我的安装程序适用于当前用户,不需要管理员权限,因此不适合使用NGen。

相反,我通过做类似的东西预编译大部分在后台线程的方法时使用的代码从这个链接第一次加载的插件: http://www.codeproject.com/Articles/31316/Pre-compile-pre-JIT-your-assembly-on-the-fly-or-tr