0

私は長い間これに対処しようとしてきましたが、解決策を見つけることができませんでした。

2つのVS2008プロジェクトがあります。1つはC#で、もう1つはC ++/CLIです。

C ++ / CLIプロジェクトはWin32であり、いくつかの外部ライブラリをロードします。私は問題なくregasmを使用してこのdllを登録することができました。

C#プロジェクトはx86に構成されており、C++プロジェクトを参照しています。

問題は、C#dllを登録するときにregasmツールがやや不安定になることです。クラッシュするか、非常に理解しにくいエラーが表示されます。

D:\FikusWorks\Source\bin>regasm /tlb SwFCamTree.dll 

Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.4927 Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

RegAsm : error RA0000 : An error occurred inside the user defined Register/Unregister functions: 

System.TypeInitializationException: The type initializer for 'SwFCamTree.SwAddin' threw an exception. 
---> System.TypeInitializationException: The type initializer for '<Module>' threw an exception. 
---> System.Runtime.InteropServices.SEHException: External component has thrown an exception.     
at <CrtImplementationDetails>.ThrowModuleLoadException(String , Exception )     
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* ) in f:\dd\vctools\crt_bld\self_x86\crt\src\mstartup.cpp:line 864     
at .cctor() in f:\dd\vctools\crt_bld\self_x86\crt\src\mstartup.cpp:line 901    

--- End of inner exception stack trace ---     
at SwFCamTree.SwAddin..cctor()    
--- End of inner exception stack trace 
at SwFCamTree.SwAddin.RegisterFunction(Type t)

私が開く場合、C#で生成されたdllに依存し、MSCOREE.dllとの依存関係のみを示し、64ビットdllであるため、問題が発生している可能性がありますが、代わりに32ビットバージョンのMSCOREE.dllをロードする方法がわかりません。

どうもありがとうございます!

4

0 に答える 0