デバッグ時に、COMコンポーネントVS2012の呼び出しからエラーHRESULTE_FAILが返されました


100

Visual Studio 2010から2012に移行したプロジェクトのデバッグに問題があります。デバッグするたびに、次のエラーメッセージが表示されます。

「COMコンポーネントの呼び出しからエラーHRESULTE_FAILが返されました」。

ローカルIISサーバーでアプリケーションをコンパイルして実行すると、正常に機能します。デバッグできません。

VS2012への移行以外のその他の変更は、ソース管理と問題追跡にTeam Foundation Serverを使用していることですが、それがどのように影響するかはわかりません。

次のように絞り込むことができます

  • プロジェクトファイル-VS2003からWebサイトプロジェクトとして移行され、切り刻まれてさまざまなバージョンに変更されました
  • CrystalReportランタイムライブラリ/その他のライブラリ

何かアイデアはありますか?


アップグレードログファイルを投稿できますか?また、ソリューションにあるプロジェクト構造とエラーのイメージ。
Nexus23 2013年

これを理解できたことがありますか?私はまったく同じ問題に直面していて、髪を抜いています!
クリス・フィリップス

いいえ、VS2010を使い続ける必要はありませんでした。プロジェクトは書き直されているため、現在の開発はほとんど停止しています...
Matt

以下の最近削除された回答は、WindowsUpdateがこれを修正することを示唆しています。
2017

こんにちは、あなたは答えを受け入れましたが、@ TimHallのソリューションはより簡単で邪魔にならないかもしれません。試しましたか?
スペンサー

回答:


59

csproj.userファイルを削除しましたが、うまくいきました。

他のいくつかのケースでは、このエラーを修正するために、プロジェクトプロパティの[Web]タブに移動し、[VisualStudio開発サーバーを使用する]と[ポートの自動割り当て]をオンにします。その後、プロジェクトを再構築してVSを再起動する必要があります


ビンゴ-これが問題を引き起こしたとは信じられない-これを投稿してくれてありがとう。
マット

7
MVS2017の時点で少し説明します。[ツール]-> [オプション...]、[プロジェクトとソリューション]-> [Webプロジェクト]の順に移動し、[サーバーエクスプローラーでweb.configからのデータ接続を自動的に表示する...]のチェックを外してから再コンパイルします。2019年からのご挨拶、魅力のように機能します!
ワーマー

私はこのワーマーを試しましたが、どういうわけかうまくいきませんでした。
AbhijeetSinha20年

Neithreがcsproj.userを削除するのに役立ちました
AbhijeetSinha20年

75

私は最近これをたくさん手に入れています。新しいファイルを作成し、コードを新しいファイルに移動して回避する必要がありました。

ソリューションのsuoファイルを削除して修正しました(私が知る限り、IDEで開いているファイルなどの情報を保存するだけで、削除しても実際の損傷はありません)。

私のファイルは一見壊れていました。(IDEは、再起動時に開いているファイルを記憶していません。サイズは1.7MBで、一度に50を超えるファイルを開くことはめったにない私の40プロジェクトソリューションでも大きいようです。)

編集:私は最近VS2017でこれを行う必要がありましたが、別の理由で、ビルドに時間がかかり、デバッグセッションを停止するのに5分以上かかり、厄介なsuoファイルを削除するとすぐに修正されました。VSがSUOの削除で奇妙な動作をするときはいつでも私の最初の寄港地です。


1
ソリューションは私のために働いた(VS 2013-
Winforms

すべて試してみましたが、これが私のために働いた唯一の解決策です..ありがとう@Tim Hall
Malik Khalil

ありがとうございました!これは私を助けました
rhedin 2017

VS2017でも動作します。
ctwheels 2017

4
おかげで、.vsディレクトリツリーを削除し、同じエラーでVS2017のビルドの問題を修正しました。
PavelMachyniak19年

68

Visual Studio2019のc ++プロジェクトでも同じ問題が発生しました。

次の解決策は私のために働いた:

  • VisualStudioを閉じます。
  • プロジェクトのルートフォルダに移動し、.vsディレクトリを削除します。
  • Visual Studioを起動し、ソリューションを開きます。
  • これでビルドが機能するはずです。

3
私のために働いた。.vsディレクトリを削除した後、VSを閉じることを忘れないでください。ところで、.vsディレクトリは非表示になっています。
ハリ

また、CmakeOpenCVビルドフォルダーからのVS2019のC ++。ルートディレクトリから.vsフォルダを削除(非表示)し、機能しました。あなたは本当のスーパーヒーローです!
トッド・ECU

10

これは私の問題を解決しました:

開始—>実行—> regsvr32 %SystemRoot%\System32\msxml3.dll

開始—>実行—> regsvr32 %SystemRoot%\SysWOW64\msxml3.dll

この前に、私はサイモンから上記の解決策を試しましたが、うまくいきませんでした!

おそらく、これら2つのソリューションを組み合わせることでうまくいきました。


2
これは私にもうまくいきました。VSがどのようにしてこの状態になったのかはわかりませんが、これで問題は解決しました。ソリューションを開くときにこのエラーが発生しました
the_mandrill 2015

6

デッドスレッドを復活させて申し訳ありませんが、VS2017でプロジェクトテンプレートキャッシュとアイテムテンプレートキャッシュフォルダーを削除することでこれを解決しました

%localappdata%\Microsoft\VisualStudio\[BUILD]

次に、を介してVisualStudioの設定をリセットします。

Tools>Import and export settings>reset all settings

また、「すべてのプロジェクトの軽量ソリューションのロード」をオフにすることも役立つと聞いています。


1
これは私にとってもうまくいきました。Visual StudioとVSがすべてのフォルダーを再作成したすべてのフォルダーの名前を変更したところ、エラーはなくなりました。ありがとう!
TravisWhidden 2018

「ツール>設定のインポートとエクスポート>すべての設定をリセット」私のために働いた、tyvm。
Jhollman

5

WinFormsアプリでデザイナーファイルを開いたときにこのエラーが発生したことを追加したいと思います。私の問題は、プロジェクト内の参照の1つがそれ自体を参照していることでした。どうやらこれはここで述べたように起こる可能性があります

https://social.msdn.microsoft.com/Forums/office/en-US/00aede04-d8cd-4475-8114-4b4792261052/winforms-designer-error-hresult-efail-has-been-returned-from-a- call-to-a-com-component

参照を削除しましたが、正常に機能しています。


1
これはリンクのみの答えではありません。考えられる解決策を説明し、参照としてリンクを提供します。
ロバートコロンビア

1
これは私にとってもうまくいきました。私の.projファイルには、最後のgitcommit以降に表示されたこの魔法の参照エントリがありました。HintPathは、プロジェクトのobj \ Debugフォルダーを指していました。このエントリを削除して再構築しました。これで、すべてのデザイナーが作業を開始しました。
カール

1
これは私にとってもうまくいきました。プロジェクトには、UserControlのそれ自体への参照がありました。参照を削除し、プロジェクトをクリーンアップしてから再構築する必要がありました。WinFormが開きます!
DougKnudsen19年

4

多分このページは役に立ちます:

シナリオ2:Webアプリケーションプロジェクトの作成またはデバッグ中にMicrosoft Visual Studio 2010IDEがクラッシュします。この上記のエラーは、Visual Studio 2010のキャッシュが破損しているために発生します。問題を解決するには、以下の場所からプロジェクトキャッシュを削除するだけです。

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

次に、を実行devenv.exe /setupしてキャッシュを再構築します。


私はちょうど同様の問題に遭遇しました、そしてこれは私のためにそれを修正しました。ありがとうサイモン!(参考のためにVS2013を使用しています)
JR Smith

4

ドー!IIS Webサイトに接続しようとしたときに、他の誰かがこのエラーを受け取った場合。

ホスト名が正しいことをトリプルチェックします(例)http://my.testsite.comの「/」を忘れていました

私がしたようにVisualStudioを再インストールする前にこれを試してください..ひどいエラーメッセージ..


1
私の場合、アプリケーションのルートURLをオーバーライドして、起動されたURLにGETパラメーターを追加しようとしました。それはそれをするのに間違った場所でした。同じプロパティページで開始URLを設定する必要があります。
Kat 2015

3

私は上記の解決策をすべて試しましたが、うまくいきませんでした。ここで解決策を見つけました

  • に移動してActivityLog.xmlを開きます

    C:\Users\{UserName}\AppData\Roaming\Microsoft\VisualStudio\15.{Id} 
    
  • エラーが次のように述べているかどうかを確認します

    "CreateInstance failed for package 
    [ReferenceManagerPackage]Source: 'mscorlib' Description: Could not load type 
     'Microsoft.VisualStudio.Shell.Interop.' from assembly 
     'Microsoft.VisualStudio.Shell.Interop.11.0' 
    
  • 次にgacutil、VS Cmdプロンプト(管理者モード)から次のコマンドを実行します。

    1. 案内する

      C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies   
      
    2. 実行 gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll


1
これは私のために働いた唯一の解決策でした(VS 2017 Professional / Windows10)。また、アクティビティログにmscorlibエラーが表示されました。すべての設定を修復してリセットしても機能しませんでした。
ニックヴァンブラント

2

VS2013からVS2015にアップグレードした後も同じ問題が発生しました。

私が働いていたプロジェクトはそれ自体を参照していました。VS2013は気にしませんでしたが、VS2015はそれを気に入らなかったので、エラーが発生しました。参照を削除した後、エラーはなくなりました。それを見つけるのに約4時間かかりました...


リンクが切れました。
偽の名前

ありがとう、リンクを削除しました。私がこの問題を解決する方法はリンクのすぐ下にあったので、少なくとも私の答えは完全に役に立たなかったわけではありません。
yiev 2018年

2

Visual Studio 2017で[参照の追加]ダイアログを表示するには、Microsoft.VisualStudio.Shell.Interop.11.0.dllをGACに登録する必要があるようです。次の手順に従って、このアセンブリをGACに登録できます。

VS2017の開発コマンドプロンプトを開きます(管理者として実行していることを確認してください。そうしないと、GAC登録が失敗する可能性があります)

現在のディレクトリを、Visual Studio2017インストール用のPublicAssembliesフォルダーに変更します。私のは:

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ PublicAssemblies

次のコマンドを実行して、アセンブリをGACに登録します。

gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ PublicAssemblies> gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll Microsoft(R).NETグローバルアセンブリキャッシュユーティリティ。バージョン4.0.30319.0Copyright(c)MicrosoftCorporation。全著作権所有。

アセンブリがキャッシュに正常に追加されました

ここでVS2017を再起動し、プロジェクトへの参照を再度追加しようとすると、[参照の追加]ダイアログが表示されます。

詳細については、以下のリンクをたどってください

https://camerondwyer.com/2017/05/03/how-to-fix-the-operation-could-not-be-completed-error-adding-reference-to-visual-studio-2017/#more-2286


やっぱり努力。これは最初の瞬間に私を動かしました。
YeshwantMudholkar20年

2

https://developercommunity.visualstudio.com/content/problem/260196/add-a-reference-raise-error-error-hresult-e-fail-h.htmlアドレスで以下の解決策を見つけました。

それはVS2019で私のために働きました:

1管理者として「VS2017の開発者コマンドプロンプト」を開きます

2枚のCDを「C:\ ProgramFiles(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ PublicAssemblies」に挿入

3「gacutil-iMicrosoft.VisualStudio.Shell.Interop.11.0.dll」を実行します

再起動後、すべて正常に機能しました。


1

特定のボタンをクリックしながら別のフォルダを開く簡単なプログラムを作成しました。ファイルのプロパティを「コンテンツ」および「新しい場合はコピー」として作成し、展開しました。したがって、他のソフトウェアにexeファイルをインストールすると、実際にはすべてのリソースがインストールされ、プログラムが正常に実行されます。だから、これはすべて私のプログラムについてです。これを開発しているときに、プログラムを実行して確認すると、エラーが表示されました

「COMコンポーネントの呼び出しからHRESULTE_FAILが返されました」

デザイナービューを開くことができませんでした。しかし、どういうわけか私は私のために簡単な解決策を得ました。それが他の人のために働くかどうかはわかりません。

解決策は次のとおりです。

アプリケーションフォルダ全体を別の場所にコピーします。そこからアプリケーションファイルをクリックします。単なるコピーであり、デザイナーが表示されないため、機能しません。

  1. ソリューションエクスプローラーからform1.vbを削除します(または、開発中に変更された場合は別の名前になる可能性があります)
  2. ソリューションエクスプローラーで>右クリック>既存のアイテムを追加>フォルダーのコピー元(元の場所)からファイルForm1.vbを参照します
  3. 新しい場所でプログラムを実行します。それが動作します

何かを追加したい場合、プログラムを実行した後に同じエラーが見つかった場合、このソリューションの問題は、アプリケーションフォルダー全体を別の場所に再度コピーして、上記の手順に従う必要があります。


1

最新のWindows10 SDKをインストールした後、エラーが発生しました。SDK8.1を使用してC ++プロジェクトをビルドしているときにエラーが発生していました。プロジェクトのプロパティで、最新の10SDKに切り替えます。再構築します。それはうまくいった。8.1に戻しました。再構築します。エラーはありません。



1

根本原因: Microsoft.VisualStudio.Shell.Interop.11.0.dllがGACにありません。

解決策: 1。スタートメニューに移動し、VisualStudioのコマンドプロンプトを開きます2.コマンドgacutil-iを入力しますMicrosoft.VisualStudio.Shell.Interop.11.0.dll3 。システムがこのdllファイルを見つけられない場合は、ダウンロードできます。 Nugetパッケージマネージャーからそれを提供し、dllのパスを提供することができます

準備完了!Enterキーを押すと、完了です。


0

問題を解決する手順:

1.管理者モードでVS2012でソリューション/ Webアプリケーションを開きます。

2. IISに移動し、アプリケーションの設定(仮想ディレクトリ名、物理パス、認証設定、使用するアプリプールなど)を書き留めます。

3.デフォルトのWebサイトからアプリケーションを削除(右クリックして[削除]を選択)します。IISを更新します。

4. VS 2012に戻り、Webアプリケーションの設定を開きます(右クリックしてプロパティを選択します)。

5. [Web]を選択します。[サーバー]セクションで、[ローカルIISWebサーバーを使用する]を選択していることを確認します。

6. Project Urlテキストボックスにアプリケーションパス(http:// localhost/ Application Path)を入力します。[仮想ディレクトリの作成]をクリックします。

7. IISに移動し、手順2で説明した設定を適用します。IISを更新します。

8. VS 2012に移動し、このプロジェクトをスタートアッププロジェクトとして設定し、適切なページをスタートアップページとして設定します。

9.実行ボタンをクリックして、プロジェクトをデバッグモードで開始します。

これにより、VS 2010から2012に移行されたWebアプリケーションの問題が解決しました。これが、特定の問題を探している人に役立つことを願っています。

私のマシン構成は次のとおりです:IIS 7.5.7600.16385

VS 2012 Professional

Windows 7 Enterprise(バージョン6.1-ビルド7601:Service Pack 1)


上記の手順5に記載されている「Web.Inサーバー」が見つかりません。唯一の「設定」(ステップ4)は、プロパティページ(Shift-F4)であり、ステップ8で大まかに参照されます。
MacSpudster 2014

0

これは、TFSビルドサーバーで時々発生します(ゲートチェックイン)。ワークスペースフォルダについてです。理由はわかりませんが、ワークスペースフォルダへのアクセスが破損することがあります。問題を修正するために私が行っているのは、TFSビルドワークスペースの削除と関連するワークスペースフォルダーの削除です。次に、TFSビルドマシンがそれ自体の新しいワークスペースを作成し、問題が修正されます。

Tousif Ahmedのソリューションは、ローカルビルドで機能するはずです。アプリケーションフォルダーを別の場所にコピーすると、TFSビルドマシンで実行しているのと同じことが実行されます。


TFSは使用していません。これは、問題が発生している別の開発者マシン上にあります
Matt

0

私の場合、このメッセージはVisual Studio 2013のIntellisenseによって発行される可能性があるようです。以下のスクリーンショットは、顧客プロジェクトの最初のロード後のVisualStudio2013の下部にあるエラーを示しています。 VS2013「ERROR-HRESULT-Eスクリーンショット

このエラーの原因を調べ始め、上記のようにuser.vxprojファイルを削除してみることにしました。ただし、プロジェクトは問題なくビルドされ、プロジェクトを終了して再ロードした後、エラーが発生しなくなったことがわかりました。したがって、私の場合は、プロジェクトを顧客のディレクトリツリー構造からローカルの開発ディスクツリー構造に移動したために破損したと考えられます。ここで重要なのは、私の場合、問題は一時的なものだったということです。私は何もしませんでした、そして、問題はそれ自身を解決するように見えました。(私は何も修正しなかったので、それが戻ってくるかもしれないので、一般的に望ましいことではありません)。


答えがはっきりしませんでした。user.vxprojファイルを削除してみましたが、効果がありませんでした。私の経験では、ビルド後に問題が自動的に解決し、vs2013を終了してから再起動しました。受け入れられた答えは私の場合は機能しませんでした。ロード、ビルド、終了、再ロードすると、問題は自動的に修正されるようです。
ロスヤングブラッド2017

0

最近、ローカルIISで実行されているASP.NETアプリでこの問題を修正するために約3時間を費やしました。「アプリケーションのルートURLを上書きする」を指定し、URLをhttp://my.dev.com/。などの末尾のスラッシュ(/)で指定しました。プロジェクトオプションを保存して戻ってきた場合、オーバーライドされたルートURLはとして表示されhttp://http://my.dev.comます。最後のスラッシュを削除すると、正常に動作し始め、エラーはなくなりました。


0

HRESULT E_FAILが、COMコンポーネントの呼び出しから返されました

私の場合、ソリューションに同じGUIDを持つ異なるプロジェクトがあったためです。(プロジェクトはコピー/貼り付けによって作成されました)


0

私の問題は、Win10 appxmanifestファイルを開くことで明らかになりました(しゃれは意図されていません)。Windows 10ツールとSDKをインストールするだけで([新規]-> [プロジェクト]-> [Windowsの選択]-> [ツールのインストール]に移動)、修正されました。


0
  1. x86アーキテクチャまたは64ビットシステムで開始された開発を追加すると、32ビットシステムでも実行されます。
  2. ただし、32ビットシステムで開始された開発を追加し、64ビットのソースコードを変更したい場合注:サーバーシステムでSAPライセンスに接続している場合は、サービスマネージャーを介してポートを設定し、サーバー名を設定してください。エラー:

接続コンテキスト:-CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090}のコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80040154クラスが登録されていません(HRESULTからの例外:0x80040154(REGDB_E_CLASSNOTREG))。


0

ComponentModelCacheフォルダーを削除して同じ問題を修正しました

  1. Visual Studioを閉じます(絶望からまだ閉じていない場合)
  2. ファイルエクスプローラーウィンドウを開き、AppDataフォルダーに移動します。あなたはそこに着くことができます:
    1. 検索バーに%APPDATA%/..入力してEnterキーを押します
    2. または、に移動します C:\Users\\AppData
  3. 行くLocal\Microsoft\VisualStudio\<version>のVisual Studio 2013のための12.0です。
  4. ComponentModelCacheフォルダーを削除します。

ここから:http//withmartin.net/how-visual-studios-component-model-cache-can-be-a-pain/


0

エラーの正確な再現手順についてはわかりませんが(COMコンポーネントの呼び出しからHRESULT E_FAILが返されました)、解決策は次のとおりです。

  1. Visual Studioを閉じ、コントロールパネルから修復します。
  2. システムを再起動します

再起動後、エラーはなくなりました。


0

Visual Studio 2017でも同じ問題が発生しました。次の手順に従ってください:

  1. 開始—>実行—>ق32%SystemRoot%\ System32 \ msxml3.dll

  2. 開始—>実行—>ق32%SystemRoot%\ SysWOW64 \ msxml3.dll

  3. プロジェクトをクリーンアップします。

  4. VisualStudioを再起動します。

    ステップ1と2は、BesnikKastratiの投稿からコピーされました。


0

私はこの答えを見つけました上部のCtrl + Alt + Jクリック(...)をクリックすると、Browse、.Netなどからdllを追加できます[OK]ボタンをクリックした後、(ソリューションエクスプローラーで選択したプロジェクトの参照に追加)をクリックします(これは緑色のプラス「+」ボタンです)


0

VS2019 16.2.4でこの問題を修正する方法についてさまざまな手順をすべて実行しましたが、問題はまだ残っています。これは長い間続いているので、MSがこの問題を修正することを私は確かに望んでいます。

オブジェクトブラウザに追加する直前に、2019年のGACが見つからなかったため、このバージョンで参照ダイアログを追加する方法を理解できませんでした。


0

以前にダウンロードして別のプロジェクトにインストールしたnugetパッケージをインストールしようとすると、このエラーが発生しました。

[ツール]> [オプション]> [NuGetパッケージマネージャー]で[すべてのNuGetキャッシュをクリア]をクリックすると、これが解決されました


同様に、ソリューションのパッケージフォルダーの内容を削除すると役立つ場合があります。私の場合、何も入っていないフォルダがあり(おそらくある時点でチェックインされていた)、それが問題につながりました。
K0D4

0

VSGUIツールを使用していたときに発生したのと同じ問題が発生しました。それを修正するために私がしたことは、ローカルリポジトリを削除し、それをgitソースからプルダウンしたことでした-ありがとうgit !! :)

これは、すべての場合に解決策になるとは限りません。しかし、すべてのローカルファイルを削除して再コンパイルすることで、再び機能させることができました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.