如何启动一个单独的项目,而无需在Visual Studio中进行debugging?

我的解决scheme包含可以启动的多个项目。 有时我想开始一个项目,而不使用我的解决scheme启动项目设置。 当我右键点击这个项目时,我可以导航到Debug-> Start New Instance,它使用debugging器启动应用程序。

但是我想开始一个没有debugging器的新实例。 这可能吗?

如果你对永久解决scheme感兴趣,那么我已经为这个任务写了一个小macros。 它做以下事情:

  1. 获取当前选定的项目(如果select了多个项目,将使用第一个选定的项目。)
  2. 保存当前的启动项目
  3. 将当前选定的项目设置为启动项目,然后在“无debugging开始”模式下运行当前选定的项目。
  4. 将初始启动项目恢复为启动项目。

下面是我写的macros和程序如何做到这一点。

如何写macros:首先你需要去Visual Studio工具 – >macros – >macros浏览器。 一旦你点击MyMacros并创build一个新的模块(我称之为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 

如何将macros绑定到键盘快捷键:要做到这一点,你需要去工具 – >选项 – >环境 – >键盘。 从列表框中select所有的默认VS的东西(记住它会像MyMacros.Module1.RunSelectedWithoutDebug那样),然后分配一个热键组合或和弦,并保存。

注:第四步是创build一个问题,并产生一个恼人的消息框说:必须停止生成更改解决scheme属性。 停止构build? 确定或取消。 我曾经打过Ok的时间。 如果你没有任何问题,如果macros设置当前选定的项目作为启动项目比请注意最后一行的macrosProp.Value = PrevStartup通过放在行的开始。现在消息框不会来。

我正在调查它,并会发布更新的macros,一旦我解决它(如果我可以:))

将VSCommands扩展添加到Visual Studio中,右键单击一个项目 – > Debug – > Start Without Debugging

我只是把这个macros放在一起。这是我在互联网上发现的几个片段的组合。 如果项目configuration为运行默认项目输出,它将find并运行该项目。 如果它被configuration为运行一个特定的程序,它会运行。 这个macros不会编译你的应用程序,所以你需要确保在运行macros之前编译它。 与此同时,这个macros并没有受到上面Mahinmacros观中提到的问题的困扰。

 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 

也许这在VS 2015中是新的,但是不需要添加一个自定义的macros – 你可以在你可以添加的东西列表中findStart Without Debugging菜单项。

转到工具 – >自定义,请按照下面的图片。

点击添加命令 在这里你可以找到菜单项

这是解决Mahinmacros观问题的方法

问题描述:第四步是创build一个问题,并产生一个恼人的消息框说:必须停止生成更改解决scheme的属性。 停止构build? 确定或取消。

 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 

请享用 !

我一直在试图做同样的事情。 这似乎是VS团队的一个疏忽,您可以在解决scheme层面上进行或不进行debugging,但只能在项目层面进行debugging。

我注意到的一件事是,如果你右键单击一个工具栏,并select“自定义”,在popup的操作窗口中,转到类别“项目”。 在那里,有一个“运行”和“运行select”的命令。 有趣的是,我添加到我的项目上下文菜单和主要的button栏,项目似乎总是被禁用。

另外有趣的是,项目上下文菜单的“Debug | Start New Instance”命令无处可查。 我浏览了几乎所有的类别,但找不到它。

希望有人想出了一个很好的方法来做到这一点,这将是非常方便!

右键单击该项目并将其设置为启动项目。

按Ctrl + F5

总之没有。

你可以做的是将一个键绑定到“设置为启动项目”,然后绑定另一个键来启动而不进行debugging。 然后,你将不得不推动2键来启动这个项目,而不用debugging,但至less它会比使用鼠标更快…

我通常直接启动可执行文件。 如果我需要一个没有debugging模式的解决scheme,我通常会将它们添加到我的任务栏某处的快速启动菜单中。

在“debugging”菜单下使用“ 开始”而不进行debugging

Ctrl + F5

或者你可以修改该项目的web.config文件:

 <compilation debug="false"/> 

这非常快:Project | 设置为启动项目| 当前select。 然后,无论select哪个项目,都在Debug |下运行 开始不debugging/ Ctrl-f5。 https://blogs.msdn.microsoft.com/saraford/2005/11/29/how-to-set-your-current-project-to-always-be-the-startup-project/

  1. 将所需的项目设置为启动项目(按照每个build议)
  2. closuresSolution Configuration Manager中所有其他项目的“Build”
  3. 开始不debugging。

设置为启动项目并按下Ctrl + F5或从菜单选项select,debugging菜单+启动不debugging。