2016-09-08 13 views
0

AddIn Express를 사용하여 개발 된 .NET Excel Addin의 첫 실행 성능을 향상시키고 싶습니다.AddIn Express Excel Addin에 Wix Toolset과 함께 NGen 사용

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 것 같은데 네이티브 이미지를로드하지 않습니다 Adden Express 개발자에게 연락을 시도한 적이 있습니까? –

+0

[Fusion logging] (http://www.grimes.nildram.co.uk/workshops/fusWSTwelve.htm#log_binding_native_images)은 어셈블리에로드 된 파일을 찾는 데 도움이됩니다. 성공적인 바인드 및 기본 이미지를 사용하십시오. –

답변

2

다른 포럼에 대한 의견을 읽은 후 NGen은 관리자 권한이 필요한 설치 프로그램과 GAC에 dll을 설치해야 할 필요가있는 것으로 보입니다. 설치 프로그램은 현재 사용자 용이며 관리자 액세스가 필요 없기 때문에 NGen을 사용할 수 없습니다.

대신 나는 유사 짓을 사전 컴파일 추가 기능이 처음이 링크의 코드를 사용하여로드 할 때 백그라운드 스레드에서 방법의 대부분을 : http://www.codeproject.com/Articles/31316/Pre-compile-pre-JIT-your-assembly-on-the-fly-or-tr