[英]How to programmatically start the second project from the “StartUp” project in the same C# solution?
我有兩個項目的C#VS 2012解決方案:ProjectA和ProjectB。 為了簡單起見,兩個項目都是控制台應用程序。
首先需要啟動ProjectA,因此將其設置為解決方案的“啟動項目”。 當我在調試器下使用F5運行ProjectA時,需要執行一些操作,然后在同一調試器下啟動ProjectB。 因此,如果我在ProjectB第一行中設置了斷點,則調試器將中斷。
有什么辦法可以做到嗎? 當前,我使用Process.Start(“ path_to_projectB.exe”),但是需要替換為“ Process.StartUnderSameDebugger(” path_to_projectB.exe“)”。 我想使用為ProjectB啟動ProjectA的VS調試器實例。
請注意,我不想在Visual Studio中使用“啟動多個項目”選項。 如果執行此操作,則兩個控制台應用程序將同時啟動(不需要),並在同一調試器下啟動(需要)。 在開始第二個過程之前,第一個過程必須執行一些操作,這就是為什么我不能使用這種方法的原因。
另外,當我稍后停止調試器時,兩個進程(來自ProjectA和ProjectB的控制台應用程序)也應關閉。
您始終可以在第一個項目啟動后手動右鍵單擊-調試第二個項目-當調試器停止時,兩個項目都將結束。
這些選項
linked files
( Add Existing Item
-> Add
(選擇下拉add as link
))的項目C,並復制需要測試的過程。 Visual Studio團隊發布了一個Visual Studio擴展,該擴展允許自動將子進程附加到當前的調試器: 子進程調試Power Tool簡介 。
因此,您可以使用Process.Start
從ProjectA
啟動ProjectB
,它將自動將調試器附加到第二個進程。
在Visual Studio 2013及更高版本的庫中可用。
您也可以在此處查看我的答案,以了解如何將當前調試器附加到您可能啟動的任何進程。 請注意,它不會像Visual Studio擴展那樣直接,因為在過程開始后將附加調試器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.