2010-08-10 66 views

回答

3

使用兩個VS2010實例。用您的主應用程序probject或測試工具應用程序項目加載一個,並使用您的控件項目加載另一個項目。在構建控件項目時,參考其他項目中的調試dll。從持有控件項目的VS2010實例附加到包含測試應用程序的VS2010實例。

根據需要放置折點。

現在驅動VS2010的測試應用程序實例,就像構建應用程序中的控件時一樣,當控件加載時,代碼將會執行,您可以開始執行代碼。使用Blend中的控件時,您可以做類似的事情,只需連接到Blend實例。

+0

對於Blend實例上的信息+1(因爲只發生在Blend上而不是VS中發生的錯誤)。 – 2013-01-03 07:49:09

2

在VS中,首先進入Debug-> Exceptions並選中CLR Exceptions的「Thrown」框。這將進入Blend/VS應用程序捕獲的異常的調試器。然後執行Debug-> Attach To Process ...並查找已打開解決方案的Blend或devenv的實例。調試器啓動後,您可以在設計器中打開XAML文件並進行調試。

+0

我已經嘗試了這幾種不同的方式 - 調試器從不「捕捉」異常。 – chadbr 2010-08-11 03:44:20

+0

同意,我認爲這應該工作得很好,但事實並非如此。 – Jeff 2012-11-01 15:01:32

0

我發現這兩個答案有用。只需添加我的2美分 - 在用於附加到設計器的VS副本中,我需要在「附加到進程」對話框中手動選擇代碼類型(在我的示例中爲Managed,v4.0)以獲得所需的結果。出於某種原因,devenv的默認值是Script,T-SQL。看看OP的日期和原始答案,可能是VS的更新導致了這種變化......只是猜測。

Select Code Type - manually set to Managed, v4.0

1

這裏是另一個兩分錢。只要確保選項 - >調試 - >常規 - >啓用只是我的代碼在您用於附加到設計器進程的實例中未選中。