IIS에 배포된 ASP.NET 애플리케이션을 디버그하려면 앱을 배포한 컴퓨터에 원격 도구를 설치 및 실행한 다음 Visual Studio에서 실행 중인 앱에 연결합니다.
원격 디버거 구성 요소Remote_debugger_componentsRemote debugger componentsRemote_debugger_components
이 가이드에서는 Visual Studio ASP.NET MVC 4.8 애플리케이션을 설정하고 구성하고, IIS에 배포하고, Visual Studio에서 원격 디버거를 연결하는 방법을 설명합니다.
비고
대신 ASP.NET Core를 원격 디 버그하려면 IIS 컴퓨터에서 원격 디버그 ASP.NET Core를 참조하세요. Azure App Service의 경우 Azure의 원격 디버그 ASP.NET Core 를 참조하거나 Visual Studio Enterprise의 경우 스냅샷 디버거 (.NET 4.6.1 필요)를 사용합니다.
필수 조건
이 문서에 표시된 단계를 수행하려면 Visual Studio 2019 이상 버전이 필요합니다.
이러한 절차는 다음 서버 구성에서 테스트되었습니다.
- Windows Server 2022 및 IIS 10
- Windows Server 2012 R2 및 IIS 8(Windows Server 2008 R2의 경우 서버 단계가 다릅니다.)
네트워크 요구 사항
원격 디버거는 Windows Server 2008 서비스 팩 2부터 Windows Server에서 지원됩니다. 요구 사항의 전체 목록은 요구 사항참조하세요.
비고
프록시를 통해 연결된 두 컴퓨터 간의 디버깅은 지원되지 않습니다. 전화 접속 인터넷과 같이 대기 시간이 길거나 대역폭이 낮은 연결을 통해 또는 국가/지역에서 인터넷을 통해 디버깅하는 것은 권장되지 않으며 실패하거나 허용할 수 없을 정도로 느려질 수 있습니다.
IIS에서 이미 실행 중인 앱
이 문서에는 Windows 서버에서 IIS의 기본 구성을 설정하고 Visual Studio에서 앱을 배포하는 단계가 포함되어 있습니다. 이러한 단계는 서버에 필요한 구성 요소가 설치되어 있는지, 앱이 올바르게 실행될 수 있는지, 원격 디버그할 준비가 되었는지 확인하기 위해 포함됩니다.
앱이 IIS에서 실행 중이고 원격 디버거를 다운로드하고 디버깅을 시작하려는 경우 Windows Server에서 원격 도구 다운로드 및 설치로 이동합니다.
디버그할 수 있도록 IIS에서 앱을 설정, 배포 및 올바르게 실행하는 데 도움이 되도록 하려면 이 문서의 모든 단계를 수행합니다.
Visual Studio 컴퓨터에서 ASP.NET 4.8 애플리케이션 만들기
새 MVC ASP.NET 애플리케이션을 만듭니다.
Visual Studio에서 파일>시작 창을 선택하여 시작 창을 연 다음 새 프로젝트 만들기를 선택합니다. 검색 상자에 asp.net 프레임워크를 입력한 다음 ASP.NET 웹 애플리케이션(.NET Framework)을 선택합니다. 표시되는 대화 상자에서 프로젝트 이름을 MyASPApp으로 지정하고 ASP.NET Framework 4.8을 선택한 다음 만들기를 선택합니다.
MVC를 선택하고 만들기를 선택합니다.
Controllers 폴더에서 HomeController.cs 파일을 열고 메서드의
return View;
문에Privacy
중단점을 설정합니다.이전 템플릿에서 Privacy.cshtml.cs 파일을 열고 메서드에서
OnGet
중단점을 설정합니다.
Windows Server에 IIS 설치 및 구성
이러한 단계에서는 IIS의 기본 구성만 보여 줍니다. 자세한 내용을 보거나 Windows 데스크톱 컴퓨터에 설치하려면 IIS에 게시하기 또는 ASP.NET 3.5 및 ASP.NET 4.5를 사용하여 IIS 8.0에 게시하기를 참조하세요.
Windows Server 운영 체제의 경우 서버 관리자의 관리 링크 또는 대시보드 링크를 통해 역할 및 기능 추가 마법사를 사용합니다. 서버 역할 단계에서 웹 서버(IIS) 확인란을 선택합니다.
(Windows Server 2022) 표시되는 대화 상자에서 기능 추가 를 선택하여 IIS 관리 콘솔을 추가합니다.
역할 서비스 단계에서 원하는 IIS 역할 서비스를 선택하거나 제공된 기본 역할 서비스를 수락합니다. 게시 설정 및 웹 배포를 사용하여 배포를 사용하도록 설정하려면 다음 기능이 선택되어 있는지 확인합니다.
- IIS 관리 스크립트 및 도구
- 관리 서비스
- IIS 관리 콘솔
확인 단계를 진행하여 웹 서버 역할 및 서비스를 설치합니다. 웹 서버(IIS) 역할을 설치한 후에는 서버/IIS를 다시 시작할 필요가 없습니다.
Windows Server에서 브라우저 보안 설정 업데이트
이전 버전의 Windows Server를 사용하는 경우 일부 웹 서버 구성 요소를 다운로드할 수 있도록 일부 도메인을 신뢰할 수 있는 사이트로 추가해야 할 수 있습니다. 인터넷 옵션 보안 신뢰할 수 있는 사이트 사이트로 이동하여 신뢰할 수 있는 사이트를 > 추가합니다.>> 다음 도메인을 추가합니다.
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
소프트웨어를 다운로드할 때 다양한 웹 사이트 스크립트 및 리소스를 로드할 수 있는 권한을 부여하라는 요청을 받을 수 있습니다. 이러한 리소스 중 일부는 필요하지 않지만 프로세스를 간소화하려면 메시지가 표시되면 추가 를 선택합니다.
Windows Server에 ASP.NET 4.8 설치
IIS에 ASP.NET 설치하는 자세한 내용은 IIS 8.0 ASP.NET 3.5 및 ASP.NET 4.5를 사용하여 IIS 8.0을 참조하세요.
비고
웹 플랫폼 설치 관리자는 7/1/22에 수명이 종료되었습니다. 자세한 내용은 웹 플랫폼 설치 관리자 - 제품/애플리케이션 피드지원 종료 및 종료를 참조하세요. IIS에서 ASP.NET 4.8을 직접 설치할 수 있습니다.
서버 관리자의 왼쪽 창에서 IIS를 선택합니다. 서버를 마우스 오른쪽 단추로 클릭하고 역할 및 기능 추가를 선택합니다.
마법사에서 기능 섹션으로 이동하여 ASP.NET 4.8을 설치합니다.
비고
Windows Server 2008 R2를 사용하는 경우 다음 명령을 사용하여 ASP.NET 4를 설치합니다.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
시스템을 다시 시작합니다(또는 net stop이 /y였고 명령 프롬프트에서 net start w3svc 를 실행하여 시스템 PATH에 대한 변경 사항을 선택합니다).
배포 옵션 선택
IIS에 앱을 배포하는 데 도움이 필요한 경우 다음 옵션을 고려합니다.
IIS에서 게시 설정 파일을 만들고 Visual Studio에서 설정을 가져와 배포합니다. 일부 시나리오에서는 앱을 빠르게 배포할 수 있습니다. 게시 설정 파일을 만들면 IIS에서 사용 권한이 자동으로 설정됩니다.
로컬 폴더에 게시하고 기본 설정 방법으로 출력을 IIS의 준비된 앱 폴더에 복사하여 배포합니다.
(선택 사항) 게시 설정 파일을 사용하여 배포
이 옵션을 사용하여 게시 설정 파일을 만들고 Visual Studio로 가져올 수 있습니다.
비고
게시 설정을 가져오는 대신 웹 배포를 수동으로 구성하려면 서버의 앱 폴더가 올바른 값과 사용 권한으로 구성되어 있는지 확인해야 합니다( ASP.NET 웹 사이트 구성 참조).
Windows Server에 웹 배포 설치 및 구성
웹 배포는 UI에서 게시 설정 파일을 만들 수 있도록 하는 추가 구성 기능을 제공합니다.
비고
웹 플랫폼 설치 관리자는 7/1/22에 수명이 종료되었습니다. 자세한 내용은 웹 플랫폼 설치 관리자 - 제품/애플리케이션 피드지원 종료 및 종료를 참조하세요. 웹 배포 4.0을 직접 설치하여 게시 설정 파일을 만들 수 있습니다.
IIS 관리 스크립트 및 도구아직 설치하지 않은 경우 지금 설치합니다.
IIS(웹 서버) 관리 도구 서버 역할 선택으로 이동한 다음 IIS 관리 스크립트 및 도구 역할을 선택하고다음 클릭한 다음 역할을 설치합니다.IIS 관리 스크립트 및 도구 설치
게시 설정 파일을 생성하려면 스크립트와 도구가 필요합니다.
또한 관리 서비스 및 IIS 관리 콘솔 설치해야 합니다(이미 설치되었을 수 있음).
Windows Server에서 Web Deploy 4.0을 다운로드.
웹 배포 설치 프로그램을 실행하고, 일반적인 설치 대신 설치 완료를 선택해야 합니다.
전체 설치를 통해 게시 설정 파일을 생성하는 데 필요한 구성 요소를 가져옵니다. (사용자 지정 대신
선택하는 경우 다음 그림과 같이 구성 요소 목록을 볼 수 있습니다.) (선택 사항) 제어판 > 시스템 및 보안 > 관리 도구 > Services열어 웹 배포가 올바르게 실행되고 있는지 확인한 다음 다음을 확인합니다.
웹 배포 에이전트 서비스 실행 중입니다(서비스 이름은 이전 버전에서 다릅니다).
웹 관리 서비스 실행 중입니다.
에이전트 서비스 중 하나가 실행되고 있지 않으면 웹 배포 에이전트 서비스다시 시작합니다.
웹 배포 에이전트 서비스가 전혀 없는 경우
제어판 제거로 이동하여 Microsoft Web Deploy프로그램 프로그램 버전 찾습니다. 설치 변경 선택하고 웹 배포 구성 요소에 대한 로컬 하드 드라이브 설치할 선택합니다. 설치 변경 단계를 완료합니다.
Windows Server의 IIS에서 게시 설정 파일 만들기
IIS 관리 콘솔을 닫고 다시 열어 업데이트된 구성 옵션을 UI에 표시합니다.
IIS에서 기본 웹 사이트마우스 오른쪽 단추로 클릭하고 배포>웹 배포 게시구성을 선택합니다.
웹 배포
구성하기
배포 메뉴가 표시되지 않으면 이전 섹션을 참조하여 웹 배포가 실행 중인지 확인합니다.
웹 배포 게시 구성 대화 상자에서 설정을 확인합니다.
설정을 클릭합니다.
결과 패널에서 출력은 지정된 사용자에게 액세스 권한이 부여되고 .publishsettings 파일 확장자가 있는 파일이 대화 상자에 표시된 위치에 생성되었음을 보여 줍니다.
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
Windows Server 및 IIS 구성에 따라 XML 파일에 다른 값이 표시됩니다. 표시되는 값에 대한 몇 가지 세부 정보는 다음과 같습니다.
특성에서 참조되는
publishUrl
파일은 웹 배포에 대해 동적으로 생성된 HTTP 처리기 파일입니다. (테스트를 위해http://myhostname:8172
일반적으로도 작동합니다.)publishUrl
포트는 웹 배포의 기본값인 포트 8172로 설정됩니다.destinationAppUrl
포트는 IIS의 기본값인 포트 80으로 설정됩니다.이후 단계에서 호스트 이름을 사용하여 Visual Studio에서 원격 호스트에 연결할 수 없는 경우 호스트 이름 대신 서버의 IP 주소를 테스트합니다.
비고
Azure VM에서 실행되는 IIS에 게시하는 경우 네트워크 보안 그룹에서 웹 배포 및 IIS에 대한 인바운드 포트를 열어야 합니다. 자세한 내용은 가상 머신포트 열기를 참조하세요.
Visual Studio를 실행하는 컴퓨터에 이 파일을 복사합니다.
Visual Studio에서 게시 설정 가져오기 및 배포
Visual Studio에서 ASP.NET 프로젝트가 열려 있는 컴퓨터에서 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시선택합니다.
이전에 게시 프로필을 구성한 경우 게시 창이 나타납니다. 새 클릭 또는 새 프로필만들기.
프로필을 가져오는 옵션을 선택합니다.
게시 대화 상자에서 프로필 가져오기 클릭합니다.
이전 섹션에서 만든 게시 설정 파일의 위치로 이동합니다.
게시 설정 파일 가져오기 대화 상자에서 이전 섹션에서 만든 프로필로 이동하여 선택하고 열기를 클릭합니다.
마침을 클릭하여 게시 프로필을 저장한 후, 게시를 클릭합니다.
Visual Studio에서 배포 프로세스를 시작하고 출력 창에 진행률 및 결과가 표시됩니다.
배포 오류가 발생하면 기타 작업> 편집을 클릭하여 설정을 편집합니다. 설정을 수정하고 유효성 검사를 클릭하여 새 설정을 테스트합니다. 호스트 이름을 찾을 수 없는 경우 Server 및 대상 URL 필드에서 호스트 이름 대신 IP 주소를 시도합니다.
앱이 성공적으로 배포되면 자동으로 시작됩니다. 앱이 배포 후에 시작되지 않는 경우 IIS에서 앱을 시작하여 앱이 올바르게 실행되는지 확인합니다.
준비가 되면 디버그 구성으로 전환합니다.
중요합니다
릴리스 구성을 디버그하도록 선택한 경우 게시할 때 web.config 파일에서 디버깅을 사용하지 않도록 설정합니다.
- 다른 옵션>편집을 선택하여 프로필을 편집한 다음 설정을 선택합니다.
- 디버그 구성을 선택한 다음 파일 게시 옵션에서 대상에서 추가 파일 제거를 선택합니다.
- 저장을 선택한 다음, 앱을 다시 게시합니다.
- 편집을 선택하여 프로필을 편집한 다음 설정을 선택합니다.
- 디버그 구성을 선택한 다음 파일 게시 옵션에서 대상에서 추가 파일 제거를 선택합니다.
- 저장을 선택한 다음, 앱을 다시 게시합니다.
경고
사용자 이름 및 암호 자격 증명(기본 인증)을 사용하는 것은 가장 안전한 인증 방법이 아닙니다. 가능하면 대체 메서드를 사용합니다. 예를 들어 Visual Studio에서 패키지에 게시한 다음 명령줄의 WebDeploy.exe 사용하여 패키지를 배포하는 것이 좋습니다. 이 방법을 사용하면 IIS 관리자를 사용하여 웹 서버에 게시할 수 있는 권한 있는 Windows 사용자를 구성하고 해당 Windows 사용자 계정으로 WebDeploy.exe 실행할 수 있습니다. IIS 8.0 이상에서 웹 배포 설치 및 구성참조하세요. 암호 자격 증명을 사용하는 경우 강력한 암호를 사용하고 암호가 유출되거나 공유되지 않도록 보호해야 합니다.
(선택 사항) 로컬 폴더에 게시하여 배포
PowerShell, RoboCopy를 사용하여 IIS에 앱을 복사하거나 파일을 수동으로 복사하려는 경우 이 옵션을 사용하여 앱을 배포할 수 있습니다.
Windows Server 컴퓨터에서 ASP.NET 웹 사이트 구성
Windows 탐색기를 열고 새 폴더 C:\Publish를 만듭니다. 여기서 나중에 ASP.NET 프로젝트를 배포합니다.
아직 열려 있지 않은 경우 IIS(인터넷 정보 서비스) 관리자를 엽니다. (서버 관리자의 왼쪽 창에서 IIS를 선택합니다. 서버를 마우스 오른쪽 단추로 클릭하고 IIS(인터넷 정보 서비스) 관리자를 선택합니다.
왼쪽 창의 연결 에서 사이트로 이동합니다.
기본 웹 사이트를 선택하고, 기본 설정을 선택하고, 물리적 경로를C:\Publish로 설정합니다.
기본 웹 사이트 노드를 마우스 오른쪽 단추로 클릭하고 애플리케이션 추가를 선택합니다.
별칭 필드를 MyASPApp으로 설정하고, 기본 애플리케이션 풀(DefaultAppPool)을 적용하고, 물리적 경로를C:\Publish로 설정합니다.
연결에서 애플리케이션 풀을 선택합니다. DefaultAppPool을 열고 애플리케이션 풀 필드를 ASP.NET v4.0으로 설정합니다(ASP.NET 4.5는 애플리케이션 풀에 대한 옵션이 아님).
IIS 관리자에서 사이트를 선택한 상태에서 권한 편집을 선택하고 IUSR, IIS_IUSRS 또는 애플리케이션 풀에 대해 구성된 사용자가 읽기 및 실행 권한이 있는 권한이 있는 사용자인지 확인합니다.
액세스 권한이 있는 사용자 중 하나가 표시되지 않는 경우 읽기 및 실행 권한이 있는 사용자로 IUSR을 추가하는 단계를 수행합니다.
중요합니다
기본 제공 계정과 관련된 보안 정보는 IIS 7의 사용자 및 그룹 계정 Built-In 이해를 참조하세요.
Visual Studio에서 로컬 폴더에 게시하여 앱 게시 및 배포
파일 시스템 또는 기타 도구를 사용하여 앱을 게시하고 배포할 수도 있습니다.
ASP.NET 4.8의 경우 web.config 파일에 올바른 버전의 .NET이 나열되었는지 확인합니다.
ASP.NET 4.8을 대상으로 하는 경우 이 버전 값이 web.config 파일에 나열되어 있는지 확인합니다.
<system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> </httpModules> </system.web> ```
4.8 대신 ASP.NET 4를 설치하는 경우 web.config 파일에서 버전 값을 4.0으로 지정해야 합니다.
다음 단계에 따라 앱을 게시하고 배포합니다.
솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 게시(Web Forms, 웹앱 게시)를 선택합니다.
이전에 게시 프로필을 구성한 경우 게시 창이 나타납니다. 새 프로필을 클릭합니다.
게시 대화 상자에서 폴더를 선택하고 찾아보기를 클릭한 다음 새 폴더 C:\Publish를 만듭니다.
마침을 클릭하여 게시 프로필을 저장합니다.
마침을 클릭하여 게시 프로필을 저장합니다.
디버그 구성으로 전환합니다.
편집을 선택하여 프로필을 편집한 다음 설정을 선택합니다. 디버그 구성을 선택한 다음 파일 게시 옵션에서 대상에서 추가 파일 제거를 선택합니다.
비고
릴리스 빌드를 사용하는 경우 게시할 때 web.config 파일에서 디버깅을 사용하지 않도록 설정합니다.
게시를 클릭합니다.
애플리케이션은 프로젝트의 디버그 구성을 로컬 폴더에 게시합니다. 출력 창에 진행률이 표시됩니다.
Visual Studio 컴퓨터의 ASP.NET 프로젝트 디렉터리를 Windows Server 컴퓨터의 ASP.NET 앱(이 예제에서는 C:\Publish)에 대해 구성된 로컬 디렉터리로 복사합니다. 이 자습서에서는 수동으로 복사하는 것으로 가정하지만 PowerShell, Xcopy 또는 Robocopy와 같은 다른 도구를 사용할 수 있습니다.
주의
코드를 변경하거나 다시 빌드해야 하는 경우 이 단계를 다시 게시하고 반복해야 합니다. 원격 컴퓨터에 복사한 실행 파일은 로컬 원본 및 기호와 정확히 일치해야 합니다. 이 작업을 수행하지 않으면 프로세스를 디버그하려고 할 때 Visual Studio에서 경고가 표시됩니다
cannot find or open the PDB file
.Windows Server에서 브라우저에서 앱을 열어 앱을 올바르게 실행할 수 있는지 확인합니다.
앱이 올바르게 실행되지 않으면 서버에 설치된 ASP.NET 버전과 Visual Studio 컴퓨터가 일치하지 않거나 IIS 또는 웹 사이트 구성에 문제가 있을 수 있습니다. 이전 단계를 다시 확인합니다.
Windows Server에서 원격 도구 다운로드 및 설치
Visual Studio 버전과 일치하는 원격 도구 버전을 다운로드합니다.
Visual Studio 컴퓨터가 아닌 디버그하려는 원격 디바이스 또는 서버에서 다음 표의 링크에서 올바른 버전의 원격 도구를 다운로드하여 설치합니다.
- Visual Studio 버전에 대한 최신 원격 도구 업데이트를 다운로드합니다. 이전 원격 도구 버전은 이후 Visual Studio 버전과 호환되지 않습니다. 예를 들어 Visual Studio 2019를 사용하는 경우 Visual Studio 2019용 원격 도구의 최신 업데이트를 다운로드합니다. 이 시나리오에서는 Visual Studio 2022용 원격 도구를 다운로드하지 마세요.)
- 설치하는 컴퓨터와 동일한 아키텍처의 원격 도구를 다운로드합니다. 예를 들어 x64 운영 체제를 실행하는 원격 컴퓨터에서 x86 애플리케이션을 디버그하려면 x64 원격 도구를 설치합니다. ARM64 운영 체제에서 x86, ARM 또는 x64 애플리케이션을 디버그하려면 ARM64 원격 도구를 설치합니다.
버전 | 링크 | 비고 |
---|---|---|
Visual Studio 2022 | 원격 도구 | 모든 Visual Studio 2022 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2019 | 원격 도구 | Visual Studio 2019용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2017 | 원격 도구 | Visual Studio 2017용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2015 | 원격 도구 | Visual Studio 2015용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2013 | 원격 도구 | Visual Studio 2013 설명서의 다운로드 페이지 |
Visual Studio 2012 | 원격 도구 | Visual Studio 2012 설명서의 다운로드 페이지 |
버전 | 링크 | 비고 |
---|---|---|
Visual Studio 2019 | 원격 도구 | 모든 Visual Studio 2019 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. 최신 버전의 원격 도구를 확인하려면 Visual Studio 2022 문서를 참조하세요. |
Visual Studio 2017 | 원격 도구 | 모든 Visual Studio 2017 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2015 | 원격 도구 | Visual Studio 2015용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. |
Visual Studio 2013 | 원격 도구 | Visual Studio 2013 설명서의 다운로드 페이지 |
Visual Studio 2012 | 원격 도구 | Visual Studio 2012 설명서의 다운로드 페이지 |
원격 도구를 설치하는 대신 원격 컴퓨터에 msvsmon.exe 복사하여 원격 디버거를 실행할 수 있습니다. 그러나 원격 디버거 구성 마법사(rdbgwiz.exe)는 원격 도구를 설치하는 경우에만 사용할 수 있습니다. 원격 디버거를 서비스로 실행하려면 마법사를 구성에 사용해야 할 수 있습니다. 자세한 내용은 (선택 사항) 원격 디버거를 서비스로 구성을 참조하세요.
비고
- ARM 디바이스에서 Windows 10 이상 앱을 디버그하려면 최신 버전의 원격 도구에서 사용할 수 있는 ARM64를 사용합니다.
- Windows RT 디바이스에서 Windows 10 앱을 디버그하려면 VISUAL Studio 2015 원격 도구 다운로드에서만 사용할 수 있는 ARM을 사용합니다.
- ARM64 운영 체제에서 x64 앱을 디버그하려면 ARM64 원격 도구와 함께 설치된 x64 msvsmon.exe 실행합니다.
Windows Server에서 원격 디버거 설정
원격 컴퓨터의 시작 메뉴에서 원격 디버거 찾아서 시작합니다.
원격 컴퓨터에 대한 관리 권한이 없는 경우 원격 디버거 앱을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행 선택합니다. 그렇지 않으면 정상적으로 시작합니다.
관리자 권한으로 실행 중이거나 다른 사용자 계정(예: IIS)에서 실행되는 프로세스에 연결하려는 경우 원격 디버거 앱을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행 선택합니다. 자세한 내용은 관리자 권한으로 원격 디버거를 실행참조하세요.
원격 디버거를 처음 시작할 때(또는 구성하기 전에) 원격 디버깅 구성 마법사가 나타납니다.
대부분의 시나리오에서는 마법사의 Windows 방화벽 구성 페이지로 이동될 때까지 다음 선택합니다.
원격 디버거 구성의 스크린샷 원격 디버거 구성Remote Debugger configuration
원격 디버거 구성의 스크린샷 원격 디버거 구성Remote Debugger configuration
Windows Server 2008 R2에서만 발생하는 Windows Web Services API가 설치되지 않은 경우 설치 단추를 선택합니다.
원격 도구를 사용하려는 네트워크 유형을 하나 이상 선택합니다. 컴퓨터가 도메인을 통해 연결된 경우 첫 번째 항목을 선택해야 합니다. 컴퓨터가 작업 그룹 또는 홈 그룹을 통해 연결된 경우 두 번째 또는 세 번째 항목을 적절하게 선택합니다.
그런 다음 마침 선택하여 원격 디버거를 시작합니다.
다음으로, 원격 디버깅 구성을 선택하여 원격 디버거를 시작합니다.
구성이 완료되면 원격 디버거 창이 나타납니다.
스크린샷
스크린샷
이제 원격 디버거가 연결을 기다리고 있습니다. 표시된 서버 이름 및 포트 번호를 사용하여 Visual Studio에서 원격 연결 구성을 설정합니다.
원격 디버거를 중지하려면 파일>종료선택합니다. 시작 메뉴 또는 명령줄에서 다시 시작할 수 있습니다.
<Remote debugger installation directory>\msvsmon.exe
비고
추가 사용자에 대한 권한을 추가하거나, 인증 모드를 변경하거나, 원격 디버거에 대한 포트 번호를 변경해야 하는 경우 원격 디버거구성을 참조하세요.
원격 디버거를 서비스로 실행하는 방법에 대한 자세한 내용은 원격 디버거를 서비스로 실행을 참조하세요.
Visual Studio 컴퓨터에서 ASP.NET 애플리케이션에 연결
Visual Studio 2022 버전 17.10 미리 보기 2부터 프로세스에 연결 대화 상자가 변경되었습니다. 이전 대화 상자와 일치하는 지침이 필요한 경우 Visual Studio 2019 보기(문서의 왼쪽 위 버전 선택기)로 전환합니다.
Visual Studio 컴퓨터에서 디버그하려는 솔루션을 엽니다(이 문서의 모든 단계를 수행하는 경우 MyASPApp ).
Visual Studio에서 프로세스에 대한 디버그 > 연결을 선택합니다(Ctrl + Alt + P).
팁 (조언)
Visual Studio 2017 이상 버전에서는 디버그 > 다시 연결 ...(Shift + Alt + P)을 사용하여 이전에 연결한 프로세스와 동일한 프로세스에 다시 연결할 수 있습니다.
연결 유형을원격(Windows)으로 설정합니다.
연결 대상 옵션이 나타납니다.
연결 대상을 <원격 컴퓨터 이름으로> 설정하고 Enter 키를 누릅니다.
Visual Studio가 컴퓨터 이름에 필요한 포트를 추가하는지 확인합니다. 이 포트는 원격 컴퓨터 이름<:p ort 형식>으로 표시됩니다.
Visual Studio 2022에서 원격 컴퓨터 이름<:4026이 표시>되어야 합니다.
포트가 필요합니다. 포트 번호가 표시되지 않으면 수동으로 추가합니다.
Visual Studio 컴퓨터에서 디버그하려는 솔루션을 엽니다(이 문서의 모든 단계를 수행하는 경우 MyASPApp ).
Visual Studio에서 프로세스에 대한 디버그 > 연결을 선택합니다(Ctrl + Alt + P).
팁 (조언)
Visual Studio 2017 이상 버전에서는 디버그 > 다시 연결 ...(Shift + Alt + P)을 사용하여 이전에 연결한 프로세스와 동일한 프로세스에 다시 연결할 수 있습니다.
한정자 필드를 <원격 컴퓨터 이름으로> 설정하고 Enter 키를 누릅니 다.
Visual Studio가 컴퓨터 이름에 필요한 포트를 추가하는지 확인합니다. 이 포트는 원격 컴퓨터 이름<:p ort 형식>으로 표시됩니다.
Visual Studio 2019에서 원격 컴퓨터 이름<:4024가 표시됩니다>.
포트가 필요합니다. 포트 번호가 표시되지 않으면 수동으로 추가합니다.
새로 고침을 선택합니다.
사용 가능한 프로세스 창에 일부 프로세스가 표시됩니다.
프로세스가 표시되지 않으면 원격 컴퓨터 이름 대신 IP 주소를 사용해 보세요(포트가 필요함). 명령줄에서 IPv4
ipconfig
주소를 가져올 수 있습니다.찾기 단추를 사용하려면 서버에서 아웃바운드 UDP 포트 3702를 열어야 할 수 있습니다.
모든 사용자의 프로세스 표시를 확인합니다.
프로세스 이름의 첫 글자를 입력하여 ASP.NET 4.5에 대한 w3wp.exe 빠르게 찾습니다.
w3wp.exe표시하는 프로세스가 여러 대 있는 경우 사용자 이름 열을 확인합니다. 일부 시나리오에서는 사용자 이름 열에 IIS APPPOOL\DefaultAppPool과 같은 앱 풀 이름이 표시됩니다. 앱 풀이 표시되는 경우 올바른 프로세스를 식별하는 쉬운 방법은 디버그하려는 앱 인스턴스에 대한 새 App Pool을 만든 다음 사용자 이름 열에서 쉽게 찾을 수 있습니다.
첨부를 선택합니다.
원격 컴퓨터의 웹 사이트를 엽니다. 브라우저에서 http://<원격 컴퓨터 이름>으로 이동합니다.
ASP.NET 웹 페이지가 표시됩니다.
실행 중인 ASP.NET 애플리케이션에서 개인 정보 페이지 링크를 선택합니다.
중단점은 Visual Studio에서 찍혀야 합니다.
중단점에 연결하거나 중단점을 설정할 수 없는 경우 원격 디버깅 문제 해결을 참조하십시오.
IIS 배포 문제 해결
- 호스트 이름을 사용하여 호스트에 연결할 수 없는 경우 대신 IP 주소를 사용해 보세요.
- 필요한 포트가 원격 서버에서 열려 있는지 확인합니다.
- 앱에서 사용되는 ASP.NET 버전이 서버에 설치한 버전과 동일한지 확인합니다. 앱의 경우 속성 페이지에서 버전을 보고 설정할 수 있습니다. 앱을 다른 버전으로 설정하려면 해당 버전을 설치해야 합니다.
- 앱이 열려고 했지만 인증서 경고가 표시되는 경우 사이트를 신뢰하도록 선택합니다. 경고를 이미 닫은 경우 프로젝트에서 게시 프로필인 *.pubxml 파일을 편집하고 다음 요소를 추가할 수 있습니다(테스트 전용).
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- 배포된 후 IIS에서 앱을 시작하여 올바르게 배포되었는지 테스트합니다.
- Visual Studio의 출력 창에서 상태 정보를 확인하고 오류 메시지를 확인합니다.
Windows Server에서 필요한 포트 열기
대부분의 설정에서는 ASP.NET 및 원격 디버거를 설치하여 필요한 포트를 엽니다. 그러나 포트가 열려 있는지 확인해야 할 수 있습니다.
비고
Azure VM에서 네트워크 보안 그룹을 통해 포트를 열어야 합니다.
필수 포트:
- 80: IIS에 필요합니다.
- 4026: Visual Studio 2022에서 원격 디버깅에 필요합니다(자세한 내용은 원격 디버거 포트 할당 참조).
4024: Visual Studio 2019에서 원격 디버깅에 필요합니다(자세한 내용은 원격 디버거 포트 할당 참조).
UDP 3702: (선택 사항) 검색 포트를 사용하면 Visual Studio에서 원격 디버거에 연결할 때 찾기 단추를 사용할 수 있습니다.
또한 이러한 포트는 ASP.NET 설치에서 이미 열려 있어야 합니다.
- 8172: (선택 사항) Visual Studio에서 앱을 배포하려면 웹 배포에 필요합니다.
포트 열기
Windows Server에서 포트를 열려면 시작 메뉴를 열고 고급 보안이 포함된 Windows Defender 방화벽 또는 Windows 방화벽을 검색합니다.
Windows Defender 방화벽의 경우 고급 설정을 선택합니다.
그런 다음 , 인바운드 규칙 > 새 규칙 > 포트를 선택합니다. 다음을 선택하고 특정 로컬 포트에서 포트 번호를 입력하고, 다음을 선택한 다음, 연결 허용, 다음을 선택하고, 인바운드 규칙의 이름(IIS, 웹 배포 또는 msvsmon)을 추가합니다.
Windows 방화벽 구성에 대한 자세한 내용은 원격 디버깅을 위한 Windows 방화벽 구성을 참조하세요.
다른 필수 포트에 대한 규칙을 더 만듭니다.