我的解決方案包含可以啓動的多個項目。有時候我想開始一個項目而不使用我的解決方案啓動項目設置。當我右鍵點擊項目時,我可以導航到Debug-> Start New Instance,它使用調試器啓動應用程序。如何在沒有在Visual Studio中進行調試的情況下啓動單個項目?
但我想開始一個沒有調試器的新實例。這可能嗎?
我的解決方案包含可以啓動的多個項目。有時候我想開始一個項目而不使用我的解決方案啓動項目設置。當我右鍵點擊項目時,我可以導航到Debug-> Start New Instance,它使用調試器啓動應用程序。如何在沒有在Visual Studio中進行調試的情況下啓動單個項目?
但我想開始一個沒有調試器的新實例。這可能嗎?
如果你有興趣永久性的解決方案,然後我寫了這個任務,小宏。 它做以下事情:
下面是我寫的宏,以及如何做到這一點的過程。
如何寫宏: 首先你需要去Visual Studio工具 - >宏 - >宏瀏覽器。一旦你得到了右擊MyMacros,並創建一個新的模塊(我把它叫做CollapseAll)。
現在編輯新模塊(雙擊它)擦除裏面的任何內容並粘貼它。
Sub RunSelectedWithoutDebug()
Dim Projs As Array
Dim Proj As Project
Projs = DTE.ActiveSolutionProjects()
If (Projs.Length > 0) Then
Proj = Projs.GetValue(0)
Dim Prop As EnvDTE.Property
Prop = DTE.Solution.Properties.Item("StartupProject")
Dim PrevStartup As Object
PrevStartup = Prop.Value
Prop.Value = Proj.Name
DTE.ExecuteCommand("Debug.StartWithoutDebugging")
Prop.Value = PrevStartup
End If
End Sub
如何綁定宏鍵盤快捷鍵: 要做到這一點,你需要去工具 - >選項 - >環境 - >鍵盤。從列表框中選擇所有默認的VS東西(記住它會像MyMacros.Module1.RunSelectedWithoutDebug那樣),然後爲它分配一個熱鍵組合或和絃並保存。
注:第四步是創建一個問題,併產生一個惱人的消息框說: 構建必須停下來改變溶液性質。停止構建?確定或取消。我過去常常打Ok。如果你沒有任何問題,如果宏設置當前選定的項目作爲啓動項目比請評論宏的最後一行 Prop.Value = PrevStartup通過放在行的開始。現在消息框不會來。
我尋找到它,一旦我解決它會發布更新的宏(如果我可以:))
宏指令太糟糕了。 – Shimmy 2017-06-08 12:23:03
設置作爲啓動項目並按下Ctrl + F5或從菜單選項中選擇調試菜單+開始不調試。
即要開始的所有項目,而不僅僅是一個。 – 2009-08-31 09:11:56
使用啓動無下調試菜單調試,或
按Ctrl + F5
,或者你可以修改web.config文件項目:
<compilation debug="false"/>
這將開始所有的項目,而不僅僅是一個。 – 2009-08-31 09:13:13
@MarkSeemann實際上它只會啓動**被設置爲*啓動*的項目。 – informatik01 2013-08-12 17:56:35
@ informatik01,但我們有多個項目的啓動,並希望有時運行其中的一個。 – Shimmy 2017-03-08 21:53:29
右鍵單擊該項目並將其設置爲啓動項目。
按Ctrl + F5
然而,如果您的默認啓動項目實際上是您使用最多的項目,並且您很少需要啓動其他項目,那將是最痛苦的。 – binki 2015-03-27 15:25:30
總之沒有。
你可以做的是將一個鍵綁定到「設置爲啓動項目」上,然後綁定另一個鍵來啓動而不進行調試。然後,你將不得不推2個鍵來啓動這個項目不用調試,但至少會比使用鼠標更快...
我通常直接啓動可執行文件。如果我需要一個沒有調試模式的解決方案,我通常會將它們添加到我的任務欄某處的快速啓動菜單中。
是的,但是整個問題是我們不能在沒有調試尚未被選爲啓動項目的情況下啓動。 – 2016-09-30 07:44:41
然後你將如何啓動一個ASP.NET Core項目? – Shimmy 2017-03-08 21:55:09
我一直在試圖做同樣的事情。這似乎是VS團隊的一個疏忽,您可以在解決方案級別開始或不進行調試,但只能在項目級別進行調試。
我注意到的一件事是,如果您在工具欄上右鍵單擊並選擇「自定義」,在彈出的操作窗口中,轉到類別「項目」。在那裏,有一個命令「運行」和「運行選定」。有趣的是,我添加到我的項目上下文菜單,並添加到主要的按鈕欄,並且項目似乎總是被禁用。
另外有趣的是,項目上下文菜單中的「Debug | Start New Instance」命令無處可查到可定製命令列表。我瀏覽了幾乎所有的類別,但找不到它。
希望有人想出了一個很好的方法來做到這一點......這將是非常方便的!
感謝分享。我也考慮過增加跑步。我正在談論2017年! – Shimmy 2017-03-08 21:54:40
我只是把這個宏放在一起..它是我在interweb周圍發現的幾個片段的組合。如果項目配置爲運行默認項目輸出,它將找到並運行該項目。如果它被配置爲運行特定的程序,它將運行該程序。這個宏不會編譯你的應用程序,所以你需要確保它在編譯之前運行宏。與此同時,這個宏並沒有受到上面Mahin宏中提到的問題的困擾。
Sub RunActiveProjectOutput()
Dim Projs As Array
Dim Proj As Project
Projs = DTE.ActiveSolutionProjects()
If (Projs.Length > 0) Then
Proj = Projs.GetValue(0)
Dim action = DirectCast(Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartAction").Value, Integer)
If (action = 1) Then
Dim app = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartProgram").Value
Dim args = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartArguments").Value
System.Diagnostics.Process.Start(app, args)
Else
Dim fullPath = Proj.Properties.Item("FullPath").Value.ToString()
Dim outputPath = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value.ToString()
Dim outputDir = System.IO.Path.Combine(fullPath, outputPath)
Dim outputFileName = Proj.Properties.Item("OutputFileName").Value.ToString()
Dim assemblyPath = System.IO.Path.Combine(outputDir, outputFileName)
System.Diagnostics.Process.Start(assemblyPath)
End If
End If
End Sub
太棒了!我喜歡這樣的事實,它不嘗試切換啓動項目(如果你已經調試不工作) – 2010-12-02 19:35:37
,並不與MVC項目因某種原因失效。它爲我啓動NUnit。你有什麼想法,我怎麼才能使它工作? – unkownt 2011-02-13 11:49:11
@免費你可以嘗試調試宏以確定採取什麼路徑?還提供與該路徑關聯的變量的值。 – 2011-02-22 16:25:55
這裏是一路解決與馬欣宏觀
問題說明問題:第四步是創建一個問題,併產生一個惱人的消息框說:構建必須停止改變解決方案屬性停止構建?確定或取消。
Public Module Custom
Private WithEvents t As Timers.Timer
Private Prop As EnvDTE.Property
Private PrevStartup As Object
Private Sub StartTimer()
t = New Timers.Timer
t.Interval = 0.05
t.Start()
End Sub
Sub t_Elapsed(ByVal ee As Object, ByVal dd As Timers.ElapsedEventArgs) Handles t.Elapsed
If DTE.Solution.SolutionBuild.BuildState <> vsBuildState.vsBuildStateInProgress Then
t.Stop()
Prop.Value = PrevStartup
End If
End Sub
Sub RunSelectedWithoutDebug()
Dim Projs As Array
Dim Proj As Project
Projs = DTE.ActiveSolutionProjects()
If (Projs.Length > 0) Then
Proj = Projs.GetValue(0)
Prop = DTE.Solution.Properties.Item("StartupProject")
PrevStartup = Prop.Value
Prop.Value = Proj.Name
DTE.ExecuteCommand("Debug.StartWithoutDebugging")
StartTimer()
End If
End Sub
End Module
Enjoy!
添加VSCommands擴展到Visual Studio中,右鍵單擊一個項目 - >調試 - >不開始調試
這是相當快:工程|設置爲啓動項目|當前選擇。然後,無論選擇哪個項目,都在Debug |下運行無需調試/ Ctrl-f5啓動。 https://blogs.msdn.microsoft.com/saraford/2005/11/29/how-to-set-your-current-project-to-always-be-the-startup-project/
我已經進入了一個請願書,獲得此功能添加到Visual Studio到他們的UserVoice的論壇。獲得一些關於這個功能的投票可能是看到這個實現的最好機會。 http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2267061-add-a-start-without-debugging-option-for-individua – jpierson 2011-09-29 14:27:04