가끔은 여러 백엔드 웹 서비스에서 발생하는 문제를 디버깅하고 있으며 모든 프로젝트를 시작 프로젝트로 설정했습니다. F5를 누르면 F5를 눌렀을 때 모든 브라우저가 기본값으로 설정된 브라우저에서 새 탭을 시작합니다. 버튼을 클릭 할 수 있고 Project > Properties > Web > Start Action
설정을 모두 "유용하지 않습니다"로 설정하는 것이 유용 할 것입니다 페이지를 엽니 다. " 누가 나를 도울 수있는 매크로 또는 확장 기능을 알고 있습니까?Visual Studio의 모든 웹 프로젝트를 "페이지를 열지 않음"으로 설정하는 매크로/확장 프로그램이 있습니까?
3
A
답변
3
프로젝트가 ASP.NET 프로젝트인지 확인하는 방법을 모르겠다는 점을 제외하고 대부분 솔루션을 작성했습니다. 한 가지 방법은 Project.ExtenderNames
에 "WebApplication"이라는 문자열이 있는지 확인하는 것이지만 가장 좋은 해결책은 아닌지 잘 모르겠습니다.
Sub ChangeAllWebProjectsStartActionToDontStartWebPage()
Dim project As EnvDTE.Project
If DTE.Solution.IsOpen Then
For Each project In DTE.Solution.Projects
NavProj(project)
Next
End If
End Sub
Sub NavProj(ByVal project As Project)
Dim outputPathProperty As EnvDTE.Property
Dim outputPath As String
If Not (project.ConfigurationManager Is Nothing) Then
' It's a project!
Dim extenderNames As String()
extenderNames = project.ExtenderNames
If (Array.IndexOf(extenderNames, "WebApplication") >= 0) Then
project.Properties.Item("WebApplication.DebugStartAction").Value = 4 ' WebStartAction.NoStartPage
End If
Else
NavProjItems(project.ProjectItems)
End If
End Sub
Sub NavProjItems(ByVal projItems As ProjectItems)
Dim projectItem As EnvDTE.ProjectItem
If Not (projItems Is Nothing) Then
For Each projectItem In projItems
If Not (projectItem.SubProject Is Nothing) Then
' Recurse, can be an Enterprise project in
' Visual Studio .NET 2002/2003 or a solution folder in VS 2005+
NavProj(projectItem.SubProject)
End If
Next
End If
End Sub
이는 다음과 같이 정의된다 WebStartAction을 기반으로합니다
enum WebStartAction
{
CurrentPage = 0,
SpecificPage = 1,
Program = 2,
URL = 3,
NoStartPage = 4
}
이 바른 길에 저를 가지고,하지만 난 솔루션 폴더에 문제가 다 퉜다. 나는 물건을 수정하기에 충분한 VB를 다시 배웠고, 인터넷에서 뻔뻔스럽게 복사하여 붙여 넣었다. 내 결과를 포함하도록 답변을 수정했습니다. –