14

最初のVisualStudio拡張プロジェクトを開発しようとしています。VS10SDKがインストールされており、新しいプロジェクトを作成して正常にビルドできましたが、デバッグしようとするとシンボルが読み込まれません。サンプルプロジェクトをオンラインでダウンロードし、シンボルが読み込まれ、ブレークポイントが正常にヒットしているため、VSIXプロジェクトにデバッグできることを知っていますhttp://weshackett.com/2009/11/configure-vsix-project-to-enable -デバッグ/)。ですから、私がVSIXプロジェクトを作成した方法と特に関係があるに違いありません(多分!)。私が気づいたことの1つは、dllとファイルがローカルの「アプリケーションデータ」領域にコピーされておらず、マニフェストのみがコピーされているのに対し、サンプルプロジェクトでは、dllを含むすべてのファイルがコピーされていることです。両方のプロジェクト設定を比較しましたが、どちらも同じです。私はそれが理にかなっていることを願っています、私がもっと詳細を提供することができれば私に知らせてください...

4

7 に答える 7

22

OK私はなんとかそれを動かすことができました。そのためには、vsixプロジェクトをアンロードし、ファイルをXMLドキュメントとして編集する必要がありました。

プロジェクトファイルから次の行を削除します。

<IncludeAssemblyInVSIXContainer>
    false
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
    false
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
    false
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
    false
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
    false
</CopyOutputSymbolsToOutputDirectory>

またはそれらをtrueに設定します。

<IncludeAssemblyInVSIXContainer>
    true
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
    true
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
    true
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
    true
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
    true
</CopyOutputSymbolsToOutputDirectory>

または、存在しない場合は...ノードの下に追加します。

これらの行を削除してソリューションを再構築すると、dllとpdbが期待どおりにbin\debugフォルダーと"AppData\ Local \ Microsoft \ VisualStudio \ 10.0Exp \Extensions\"フォルダーにコピーされました。

于 2011-10-14T22:49:47.090 に答える
8

そこに行った..VS-2019で、正常に動作するVSIX非同期を開発していますが、ある時点で、VisualStudioExperimentalバージョンがデバッグモードでのVSIXの読み込みを停止しました。

根本的な原因はわかりませんが、VisualStudioの同じソリューションで2番目のVSIXプロジェクトテンプレートを開くのと同時に発生しました。それが問題と関係があるかどうかはわかりませんが、最初の実行で、両方のVSIX-esがExperimentalバージョンセッションにロードされていることがわかりました。その時点で、実験バージョンを閉じてリセットしました。次の実行では、デバッグ時にVSIXがExperimentalバージョンにロードされていないようでした。非常にイライラします。

私が見つけた解決策、いじくり回す

  • VisualStudioのインスタンスをすべて閉じます
  • スタートメニューのコマンドラインツールを使用して、VisualStudioExperimentalバージョンをリセットします。
  • VSを開き、 VSIXソリューションをロードします
  • VSIXソリューションをクリーンアップする
  • リリースモードに切り替えます(はい、実行します。)
  • ソリューションを再構築してから実行
  • Just my Code警告ポップアップで、[デバッグの続行]を選択します。
  • これで、実験バージョンがVSIXで開始されます。ロードされます!
  • リリースモードは、デバッグ時に便利ではありません。Expバージョンを閉じるVSIXソリューションに戻ります
  • デバッグモードに戻します
  • 再実行

私にとって、上記のシーケンスは問題を解消させます。VSIXが正しくロードされます。

于 2020-10-30T23:37:46.587 に答える
3

Visual Studio2017で似たようなものに遭遇しました。@Rubansによって記述されたオプションは必要ないようです(もう?)。

現在のビルド構成(ほとんどの場合)では、VsixプロパティページでチェックされているDebugことを確認する必要があります。Deploy VSIX content to experimental instance for debugging

ここに画像の説明を入力してください

于 2018-10-17T08:53:44.910 に答える
2

私は同じように見える問題を抱えていました-デバッグが開始されますが、ブレークポイントを設定すると、「役に立たない」と「ブレークポイントはヒットしません」という注釈が表示されます。ここで他の回答のすべてをチェックしたところ、1つのプラグインプロジェクトリポジトリ(特定のバージョンへのパーマリンク)に「寄稿者ガイド」が見つかりました。

したがって、私を助けたのは次のとおりです。プロジェクトのプロパティを開き、[デバッグ]タブで次のことを確認します。

  1. devenv.exe「アクションの開始」は「外部プログラムの開始」に設定され、パスは「C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE\devenv.exe」などのパスと一致します。デフォルトでは何でしたか。

  2. 「開始オプション」では「コマンドライン引数」が設定されていました。/rootsuffix Expこれはデフォルトでは欠落していたため、追加する必要がありました

したがって、追加/rootsuffix Expすると機能し始めます。次にF5キーを押すと、プラグインコードのブレークポイントが機能します。

于 2019-12-04T14:00:26.000 に答える
0

私は同じ問題を抱えています、そしてVisual Studio 2019では、デバッグコマンドの実行引数は/rootsuffix Roslyn

プロジェクトを更新して再構築しようとしましたが、機能しません。幸いなことに、私はそれをデバッグする別の方法を見つけました。それはunitTestです。vsixテンプレートによって作成された最新のソリューション。uniteTestsプロジェクトが含まれています。

testmethodでは、メソッドを呼び出しVerifyCSharpcてテストDiagnosticし、メソッドを呼び出しVerifyCSharpFixてテストすることができFixます。unitTestをデバッグするとき、正しいブレークポイントに到達できます

于 2019-12-25T16:41:09.280 に答える
0

誤ってvs201715.9.20で修正する方法を見つけました

間もなく:新しいVSで拡張機能をアンインストールし、F5で新しいVSを再実行してから、ソリューションをクリーンアップして再構築してから、F5で再度実行します。

拡張機能をアンインストールした後にVSを再実行すると、新しいVSは拡張機能が削除されたことを「理解」します。その後、コードを再構築し、新しいVSに「配置」します。

詳細:

  • F5を実行し、新しいVSで拡張機能に移動して拡張機能をアンインストールします
  • 新しいVSを閉じる
  • 開いたVSIXのアンインストールウィンドウで-拡張機能をアンインストールします
  • 何も変更せず、F5でコードを再実行し、新しく起動したVSで拡張機能が削除されていることを確認し、新しいVSを閉じます。
  • コーディングVS-クリーンソリューション
  • 再構築
  • F5で運営、お楽しみください
于 2020-10-20T11:03:21.247 に答える
0

Visual Studio Experimentalをリセットしてみてください(私にとってはうまくいきます)。[スタート]メニュー->[VisualStudio 2019]-> [VisualStudio2019実験インスタンスのリセット]に移動します

(各ビジュアルスタジオバージョンにはリンクがあります)

于 2022-02-24T16:14:12.900 に答える