2011-09-23 94 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

很高興爲您提供幫助,不要忘記將它標記爲未來發現此問題的人的答案:) –