2016-09-08 8 views
0

AddIn Expressを使用して開発された.NET Excel Addinの初回パフォーマンスを改善したいと考えています。AddIn Express Excel AddinのためのWix ToolsetでのNGenの使用

JITがMSILをネイティブの実行可能マシンコードに変換する時間を費やすため、さまざまなタスクの最初の実行中にアドインが遅く実行される理由があります。

これを解決するための標準的な方法は、ネイティブコードをあらかじめ生成するために、インストーラーからアセンブリでNGenを実行することです。

私はWix Toolsetをインストーラに使用していますが、正しく設定することを試みましたが、遅い初期実行の問題を取り除くわけではありませんので、この作業を行うために必要なものがあるかどうか疑問ですAddin Express Excel Addinsを使用します。その情報が重要な場合に備えて、私のaddinは%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

をし、私のWiX 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

が見えますアドインエクスプレス開発者に連絡しようとしましたか? –

+0

[Fusion logging](http://www.grimes.nildram.co.uk/workshops/fusWSTwelve.htm#log_binding_native_images)は、アセンブリにロードされたファイルの検索に役立ちます。正常なバインドとネイティブイメージを有効にします。 –

答えて

2

他のフォーラムでいくつかのコメントを読んだ後、NGenは管理者権限を必要とするインストーラと、GACにインストールする必要のあるdllを必要としていたようです。私のインストーラは現在のユーザーのためのもので、管理者がアクセスする必要はありませんので、NGenを使用するのには適していません。アドインが最初にこのリンクからのコードを使用してロードされたときに

は、代わりに私は、プリコンパイルすることにより、バックグラウンドスレッドのほとんどのメソッドを類似した何かをした:adxloaderはネイティブイメージをロードしないように http://www.codeproject.com/Articles/31316/Pre-compile-pre-JIT-your-assembly-on-the-fly-or-tr

関連する問題