1

VSX パッケージ (2008+) の C# クラス ライブラリ プロジェクト タイプに基づくカスタム プロジェクト タイプがあります。このプロジェクト タイプでは、出力がクラス ライブラリであっても、F5 を押すだけでこのアプリをデバッグできるようにしたいと考えています (など)。アセンブリ パスをコマンド ライン引数として受け取り、ワークベンチ テスト用にロードするビルド済みの実行可能ファイルがあります。

実行可能ファイルへのパスを指定し、出力 dll への相対パスをコマンド ライン引数として指定することにより、プロパティ ページでプロジェクトの [デバッグ >> アクションの開始 >> 外部プログラムの開始] を使用して、この動作を手動でシミュレートできます。しかし、これは設定が多すぎます。プロジェクト タイプのパッケージ コードで、アクティブな構成のアセンブリとワークベンチ実行可能ファイルのインストール場所を自動的に取得できるようにしたいと考えています。

最悪のシナリオは、ビルドが成功するたびに、そのプロジェクトのプロパティ ページがプログラムによって正しい値に更新されることです。私はこの解決策が特に好きではありません。なぜなら、それは面倒で、簡単に同期が外れて、潜在的なエラーをユーザーに公開するように思われるからです。

私が想像できる最良の解決策は、「クラスライブラリの出力タイプを持つプロジェクトを直接開始することはできません」というエラーが発生して代わりにワークベンチを実行する前に、Start Debugger イベント (このプロジェクトタイプのみ) をインターセプトすることでした (デバッガーが接続されている、のコース)。VSXが必要な部分を公開しているかどうかはわかりません。

この単純な (?) パッケージ (他のいくつかの要件、主にプロジェクト レベルのメニュー項目、既に部分的に実装されているもの) を経験のある人に書いてもらうにはお金を払いますが、VSX パッケージを専門とするコンサルタントは見つかりませんでした。 . 推薦は大歓迎です。

私は間違ったアプローチを取っていますか?アドインではなくパッケージが必要だと思います。

4

1 に答える 1

3

説明によると、カスタムプロジェクトタイプではなく、カスタムプロジェクトテンプレートがあるようです。(通常、独自のカスタムプログラミング言語がある場合にのみ、独自のプロジェクトタイプがあります)。

これが事実であると仮定すると、プロジェクトの作成時(つまり、ユーザーが[新しいプロジェクト]ダイアログを通過した後)に、ホスト実行可能ファイルなどを起動するようにプロジェクトを設定する独自のIWizard実装を作成できるはずです。 。

たとえば、IWizardのProjectFinishedGenerating実装で次のようなことを行うことができます。

public void ProjectFinishedGenerating(Project project)
{
  foreach (Configuration config in project.ConfigurationManager)
  {
    config.Properties.Item("StartAction").Value = 1; //Launch external program
    config.Properties.Item("StartProgram").Value = <pathToYourEXE>;
    config.Properties.Item("StartArguments").Value = <argumentsToYourExe>;
  }
}
于 2009-11-11T00:24:07.037 に答える