我有一个可编译为.dll的自定义操作项目,我希望能够逐步执行我的自定义操作,我知道可以将程序包更改为wixsharp.bin,但是这样做并不实际。无论如何,我仍然尝试了这种方法,但是没有达到断点。
Wix使用:System.Diagnostics.Debugger.Launch();在调试中启动操作,这似乎不适用于wixsharp,但是预期的结果是我正在尝试实现的结果。
System.Diagnostics.Debugger.Launch();
我已经看到debug.assert可用于调试,并且还看到了有关#if DEBUG #endif如何正确调试的参考。
#if DEBUG #endif
[CustomAction] public static ActionResult CustomAction(Session session) { Debug.Assert(); MessageBox.Show("Hello World!" + session[IISSessions.AppPoolName], "External Managed CA"); return ActionResult.Success; }
不太确定是什么引起了问题,我删除了bin文件夹,然后运行了一个构建,现在看来它可以运行了。System.Diagnostics.Debugger.Launch()确实可以正常工作,它必须包含在#if DEBUG@SteinÅsmul所说的内容中。内置DEBUG后,运行输出的.msi,当您在安装过程中点击自定义操作时,系统将提示您打开Visual Studio实例。
System.Diagnostics.Debugger.Launch()
#if DEBUG
[CustomAction] public static ActionResult CustomAction(Session session) { #if DEBUG System.Diagnostics.Debugger.Launch(); #endif MessageBox.Show("Hello World!" + session[IISSessions.AppPoolName], "External Managed CA"); return ActionResult.Success; }