2017-09-21 41 views
1

WebServiceを開発していますが、私はCOMリファレンスを使用しています(この参照はプロジェクトに追加されています)。私はVisualStudioを介して私のwebserviceを実行すると、すべて正常に動作します。しかし、私はローカルIISでWebサーバを公開してみてくださいするWebサービスを実行すると、私はエラーを取得:IIS公開WebServiceでクラスが登録されていません

"System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {80327130-FFDB-4506-B160-B9F8DB32DFB2} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) 
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) 
    at System.Activator.CreateInstance(Type type, Boolean nonPublic) 
    at System.Activator.CreateInstance(Type type) 
    at WebServiceDA.WebService1..ctor()" 

私はSYSWOW64とのSystem32フォルダにクラスを登録しようとしますが、動作しません。

マイコンピュータは64ビット、COMは32ビットです。しかし、Plattformターゲットを「X86」(元々は「Any CPU」)に変更すると、エラーが発生します。

ファイルまたはアセンブリまたはその依存関係の1つをロードできませんでした。不正な形式のプログラムをロードしようとしました。

ありがとう!

答えて

1

あなたのウェブサイトに関連付けられたアプリケーションプールの詳細設定に移動します。 enter image description here

設定一般セクションで32ビットアプリケーションを有効にします。

これで解決します。

+0

Works!どうもありがとう! – FelipeFonsecabh

関連する問題