2011-09-23 95 views
1

我有最初针对.net 2.0的c#自定义安装程序类。 我已将它重新定位到.net 4.0,现在它看不到运行。 我已经通过在相关位置添加Debugger.Break证明了这一点。c#自定义安装程序类.net 4.0不叫

在.net 2.0中,断点被击中。我什至尝试瞄准3.5和那工作。

我意识到这里有类似的问题,但答案似乎表明“错误的框架”或“使用别的东西”的品种。

谢谢!

编辑 -

我有一个安装程序类

public partial class ScriptRunner : Installer 
{... 

public override void Install(System.Collections.IDictionary stateSaver) 
{ 
    System.Diagnostics.Debugger.Break(); 
    ... 

这是通过运行安装程序(即SETUP.EXE)进行测试。 break语句应该会导致一个对话框提示运行调试器。在.net 2.0/3.5下会发生这种情况,但是没有.net 4.0

+0

没有看到代码,这是无法回答的。请阅读:http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – Oded

回答

1

在.Net 4.0中,调试器的调用已被更改,这在某些时候已将我抛出。

更改

System.Diagnostics.Debugger.Break(); 

进入

System.Diagnostics.Debugger.Launch(); 

使其成为我们工作,不知道这还曾为2.0和3.5,因为我们切换到4.0,并坚持了下来:)

+0

太棒了!这样可行! –

+0

很高兴为您提供帮助,不要忘记将它标记为未来发现此问题的人的答案:) –