2

次のエラーが原因で、CLSID {0A80A563-28AE-11D3-9CD6-00C04F8B8EF1} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80040111 ClassFactory は要求されたクラスを提供できません (HRESULT からの例外: 0x80040111 (CLASS_E_CLASSNOTAVAILABLE))

HKLM\Software\Classes\Wow6432Node\CLSID{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}\InProcServer32 で {0A80A563-28AE-11D3-9CD6-00C04F8B8EF1} でアセンブリを見つけることができるレジストリのエントリを検索しました

組み込みの相互運用タイプを使用してアプリケーションを作成しましたが、ローカル マシンでは正常に動作していますが、別のサーバーに展開すると前述のエラーが発生します。

次のコード行で前述のエラーが発生します

XYZ.IApplication Sr = new Application();

C++ にある XYZ.tlb への参照を C# プロジェクトに追加しました。

ここにスタックトレースがあります

   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)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
4

3 に答える 3

2

許可による問題でした。IIS_User には、インスタンスを作成するためのアクセス権がありませんでした。

管理者資格情報をアプリケーション プールに更新し、問題を解決しました。

于 2013-05-30T11:01:54.583 に答える