Как запустить один проект без отладки в Visual Studio?



мое решение содержит несколько проектов, которые могут быть запущены. Иногда я хотел бы запустить один проект без использования настроек запуска проектов моего решения. Когда я нажимаю правой кнопкой мыши на проект, я могу перейти к Debug->Start New Instance, который запускает приложение с отладчиком.



но я хотел бы запустить новый экземпляр без отладчика. Это возможно?

1274   13  

13 ответов:

Если вы заинтересованы в постоянное решение, то я написал небольшой макрос для этой задачи. Он делает следующие вещи :

  1. возвращает текущий выбранный проект ( он будет использовать первый выбранный проект, если вы выбрали несколько проектов.)
  2. сохраняет текущий проект запуска
  3. устанавливает текущий выбранный проект в качестве стартового проекта и запускает текущий выбранный проект в режиме "запуск без отладки".
  4. восстанавливает начальный запуск Проект как стартап.

Ниже приведен макрос, который я написал, и процедура, как это сделать.

Как написать макрос : Первое, что вам нужно перейти в 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

возможно, это новое в VS 2015, но нет необходимости добавлять пользовательский макрос - вы можете найти пункт меню Пуск без отладки в списке вещей, которые вы можете добавить.

перейти к инструментам - > настроить, следуйте изображениям ниже.

Hit Add Command Here you can find the menu item

Я просто собрал этот макрос.. Это комбинация нескольких фрагментов, которые я нашел в интернете. Если проект настроен на запуск выхода проекта по умолчанию, он найдет и запустит. Если он настроен для запуска определенной программы,он будет работать. Этот макрос также не будет компилировать ваше приложение, поэтому вы захотите убедиться, что он скомпилирован перед запуском макроса. В то же время этот макрос не страдает от проблемы, упомянутой в макросе махина выше.

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

  1. установите требуемый проект в качестве проекта запуска (как предложил каждый)
  2. отключите 'Build' для всех других проектов в Диспетчере конфигурации решения
  3. Запуск Без Отладки.

Comments

    Ничего не найдено.