Wixsharp コンソール環境でのカスタム操作のデバッグ
Wixsharp では、カスタム アクションは .dll ファイルにコンパイルされるため、インストール プロセス中にコードをデバッグすることが困難になります。この記事では、この問題を解決するためのいくつかの方法を検討します。
まず、パッケージの種類を wixsharp.bin に設定します。ただし、このアプローチは現実的ではない可能性があります。さらに、System.Diagnostics.Debugger.Launch() を使用して操作をデバッグすることは、Wixsharp では実現できません。
より効率的な方法は、条件が満たされない場合にアサーションをスローする Debug.Assert() を使用することです。カスタム アクション中にアサーションをトリガーすることで、デバッガーの起動を促すことができます。
もう 1 つのアプローチは、重要なステートメントを #if DEBUG #endif プリプロセッサ ディレクティブでラップすることです。これにより、デバッグ モードでビルドする場合にのみ特定のコードが実行されるようになります。これらの手順内で、System.Diagnostics.Debugger.Launch() を使用してデバッガーを開始できます。
以下は、デバッグ機能を備えたカスタム アクションの例です:
<code class="language-csharp">[CustomAction] public static ActionResult CustomAction(Session session) { #if DEBUG System.Diagnostics.Debugger.Launch(); #endif MessageBox.Show("Hello World!" + session[IISSessions.AppPoolName], "外部托管CA"); return ActionResult.Success; }</code>
デバッグ メカニズムを追加した後、デバッグ モードでプロジェクトをビルドし、生成された .msi ファイルを開始します。インストール中にカスタム アクションがトリガーされると、Visual Studio のインスタンスを開いてコードをデバッグするように求められます。
以上がWixsharp プロジェクトでカスタム アクションをデバッグするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。