Как запустить один проект без отладки в Visual Studio?
мое решение содержит несколько проектов, которые могут быть запущены. Иногда я хотел бы запустить один проект без использования настроек запуска проектов моего решения. Когда я нажимаю правой кнопкой мыши на проект, я могу перейти к Debug->Start New Instance, который запускает приложение с отладчиком.
но я хотел бы запустить новый экземпляр без отладчика. Это возможно?
13 ответов:
Если вы заинтересованы в постоянное решение, то я написал небольшой макрос для этой задачи. Он делает следующие вещи :
- возвращает текущий выбранный проект ( он будет использовать первый выбранный проект, если вы выбрали несколько проектов.)
- сохраняет текущий проект запуска
- устанавливает текущий выбранный проект в качестве стартового проекта и запускает текущий выбранный проект в режиме "запуск без отладки".
- восстанавливает начальный запуск Проект как стартап.
Ниже приведен макрос, который я написал, и процедура, как это сделать.
Как написать макрос : Первое, что вам нужно перейти в Visual Studio Tools --> Macros --> Macro Explorer. После того, как вы получили, что щелкните правой кнопкой мыши на 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), а затем назначить комбинацию горячих клавиш или аккорд к нему и сохранить.
Примечание : Четвертый шаг создает проблему и порождает раздражающий messagebox говоря : Сборка должна быть остановлено для изменения свойства решения. Остановить сборку? ОК или отмена. Раньше я нажимал Ok для времени. Если у вас нет никаких проблем, если макрос устанавливает текущий выбранный проект в качестве стартового проекта, чем, пожалуйста, прокомментируйте последнюю строку макроса Прислонить.Значение = PrevStartup, поставив ' в начале строки.Теперь почтовый ящик не придет.
Я смотрю в него и опубликую обновленный макрос, как только я его решу ( если смогу :))
добавить VSCommands
Я просто собрал этот макрос.. Это комбинация нескольких фрагментов, которые я нашел в интернете. Если проект настроен на запуск выхода проекта по умолчанию, он найдет и запустит. Если он настроен для запуска определенной программы,он будет работать. Этот макрос также не будет компилировать ваше приложение, поэтому вы захотите убедиться, что он скомпилирован перед запуском макроса. В то же время этот макрос не страдает от проблемы, упомянутой в макросе махина выше.
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
вот путь к решить проблему, связанную с макросом махина
описание проблемы: Четвертый шаг создает проблему и порождает раздражающий messagebox говоря : сборка должна быть остановлена, чтобы изменить свойство решения. Остановить сборку? ОК или отмена.
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, что вы можете начать с отладки или без нее на уровне решения, но только с отладки на уровне проекта.
одна вещь, которую я заметил, это то, что если вы щелкните правой кнопкой мыши на панели инструментов и выберите "Настроить", во всплывающем окне действий перейдите в категорию "проект". Там есть команда для "Run"и" Run Selected". Интересно, что я добавил как в контекстное меню своего проекта, так и в основное кнопка бар, и элементы, кажется,всегда быть отключен.
также интересно, что команда контекстного меню проекта "Debug / Start New Instance" нигде не встречается в списке настраиваемых команд. Я просмотрел почти все категории и не смог найти его.
надеюсь, кто-то придумает хороший способ сделать это... было бы очень удобно!
короче нет.
Что вы можете сделать, это привязать ключ к "Set as startup project", а затем привязать другой ключ для запуска без отладки. Затем вам придется нажать 2 клавиши, чтобы начать этот проект без отладки, но по крайней мере это будет быстрее, чем используя мышь...
использовать запуск без отладки в меню "отладка" или
Ctrl+F5
или вы можете изменить веб.конфигурационный файл для проекта:
<compilation debug="false"/>
щелкните правой кнопкой мыши на проекте и установите его в качестве стартового проекта.
Нажмите Ctrl + F5
обычно я запускаю исполняемый файл напрямую. Если мне нужно одно решение без режима отладки много, я обычно добавляю их в меню быстрого запуска где-то на моей панели задач.
Это довольно быстро: проект / установить в качестве запуска проекта / текущего выбора. Затем какой бы проект ни был выбран, он запускается под Debug / Start без отладки / Ctrl-f5. https://blogs.msdn.microsoft.com/saraford/2005/11/29/how-to-set-your-current-project-to-always-be-the-startup-project/
кто-то сделал аддон, который делает это. В настоящее время на самом деле не обрабатывает проекты aspnetcore, хотя:
https://marketplace.visualstudio.com/items?temName=vurdalak1.startwithoutdebugging
- установите требуемый проект в качестве проекта запуска (как предложил каждый)
- отключите 'Build' для всех других проектов в Диспетчере конфигурации решения
- Запуск Без Отладки.


Comments