Share via


.NET 프로젝트 디자이너(C#)

프로젝트 디자이너사용하여 .NET Core 및 .NET 5 이상에 대한 프로젝트의 설정 및 속성을 지정합니다. .NET Framework 및 Visual Basic 프로젝트의 경우 .NET 프로젝트 디자이너란?을 참조하세요.

프로젝트 디자이너에 액세스하려면 솔루션 탐색기 프로젝트 노드(솔루션 노드 아님)를 선택합니다. 그런 다음, 메뉴 모음에서 프로젝트>속성을 선택합니다. 프로젝트 디자이너가 표시됩니다.

참고 항목

이 문서의 일부 Visual Studio 사용자 인터페이스 요소에 대한 다른 이름 또는 위치가 컴퓨터에 표시될 수 있습니다. 다른 버전의 Visual Studio 또는 다른 환경 설정을 사용 중일 수 있습니다. 자세한 내용은 IDE 개인 설정을 참조하세요.

애플리케이션, 일반 설정

다음 옵션을 사용하여 애플리케이션에 대한 일반 설정을 구성할 수 있습니다.

출력 형식

빌드할 애플리케이션 종류를 지정합니다. 값은 프로젝트 형식에 따라 달라집니다. 예를 들어 콘솔 앱 프로젝트의 경우 Windows 애플리케이션, 콘솔 애플리케이션 또는 클래스 라이브러리를 출력 형식으로 지정할 수 있습니다.

출력 형식 속성에 대한 자세한 내용은 /target(C# 컴파일러 옵션)을 참조하세요.

프로그래밍 방식으로 이 속성에 액세스하는 방법에 대한 자세한 내용은 OutputType을 참조하세요.

대상 프레임워크

애플리케이션의 대상 .NET 버전을 지정합니다. 이 옵션은 컴퓨터에 설치된 .NET 버전에 따라 다른 값을 가질 수 있습니다.

.NET Core 또는 .NET 5+를 대상으로 하는 프로젝트의 경우 사용 가능한 버전은 다음과 같이 표시될 수 있습니다.

Visual Studio 2022의 .NET Core 프로젝트에 대한 대상 프레임워크 버전의 스크린샷

참고 항목

ClickOnce 애플리케이션의 경우 필수 구성 요소 대화 상자에 나열된 필수 구성 요소 패키지는 대화 상자를 처음 열 때 자동으로 설정됩니다. 이후에 프로젝트의 대상 프레임워크를 변경하는 경우 새 대상 프레임워크에 맞도록 필수 구성 요소를 수동으로 선택해야 합니다.

자세한 내용은 Framework 대상 지정 개요를 참조하세요.

대상 OS

프로젝트에서 대상으로 지정할 운영 체제를 지정합니다. 대상 프레임워크와 결합하면 .NET 5+ OS별 TF가 생성됩니다.

시작 개체

애플리케이션 로드 시 호출할 진입점을 정의합니다. 일반적으로 애플리케이션의 기본 폼이나 애플리케이션 시작 시 실행되어야 하는 Main 프로시저로 설정됩니다. 클래스 라이브러리에 진입점이 없기 때문에 이 속성의 유일한 옵션은 (설정 안 함)입니다.

기본적으로, WPF 앱 프로젝트에서 이 옵션은 (설정 안 함)으로 설정됩니다. 다른 옵션은 [projectname].App입니다. WPF 프로젝트에서는 애플리케이션을 시작할 때 UI 리소스를 로드하도록 시작 URI를 설정해야 합니다. 이렇게 하려면 프로젝트에서 Application.xaml 파일을 열고, StartupUri 속성을 프로젝트의 .xaml 파일(예: Window1.xaml)로 설정합니다. 허용되는 루트 요소 목록은 StartupUri를 참조하세요. 또한 프로젝트의 클래스에서 public static void Main() 메서드를 정의해야 합니다. 이 클래스는 시작 개체 목록에 ProjectName.ClassName으로 나타납니다. 그런 다음 클래스를 시작 개체로 선택할 수 있습니다.

자세한 내용은 /main(C# 컴파일러 옵션)을 참조하세요. 프로그래밍 방식으로 이 속성에 액세스하려면 StartupObject을 참조하세요.

어셈블리 이름

어셈블리 매니페스트를 보유할 출력 파일의 이름을 지정합니다. 이 속성을 변경하면 출력 이름 속성도 변경됩니다.

/out(C# 컴파일러 옵션)을 사용하여 명령줄에서 이 변경을 수행할 수도 있습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 AssemblyName을 참조하세요.

기본 네임스페이스

프로젝트에 추가된 파일에 대한 기본 네임스페이스를 지정합니다.

코드에서 네임스페이스를 만드는 방법에 대한 자세한 내용은 네임스페이스를 참조하세요.

프로그래밍 방식으로 이 속성에 액세스하려면 RootNamespace을 참조하세요.

애플리케이션, Win32 리소스 설정

Icon

프로그램 아이콘으로 사용할 .ico 파일을 설정합니다. 찾아보기를 클릭하여 기존 그래픽을 찾거나 원하는 파일의 이름을 입력합니다. 자세한 내용은 /win32icon(C# 컴파일러 옵션)을 참조하세요.

프로그래밍 방식으로 이 속성에 액세스하려면 ApplicationIcon을 참조하세요.

아이콘을 만드는 방법에 대한 자세한 내용은 아이콘을 위한 이미지 편집기를 참조하세요.

리소스

리소스 옵션을 사용하면 앱에 대한 리소스 설정을 구성할 수 있습니다. 기본적으로 아이콘매니페스트 옵션은 사용하도록 설정됩니다. 이렇게 하면 사용자 고유의 아이콘을 선택하거나 다른 매니페스트 생성 옵션을 선택할 수 있습니다. 프로젝트에 대한 리소스 파일을 제공하지 않는 경우 이 라디오 단추를 선택된 상태로 둡니다.

리소스 파일을 선택하는 경우 프로젝트에 대한 리소스 파일을 구성합니다. 경로 이름을 입력하거나 찾아보기 단추를 사용하여 프로젝트에 Win32 리소스 파일을 추가합니다. 자세한 내용은 .NET 앱의 리소스 파일 만들기를 참조하세요.

file:///

Windows에서 UAC(사용자 계정 컨트롤)로 애플리케이션을 실행하는 경우 매니페스트 생성 옵션을 선택합니다. 이 옵션은 다음 값을 가질 수 있습니다.

  • 기본 설정으로 구성된 매니페스트 포함 Windows에서 Visual Studio가 작동하는 일반적인 방식(requestedExecutionLevelAsInvoker로 지정하여 애플리케이션의 실행 파일에 보안 정보 포함)을 지원합니다. 이것이 기본 옵션입니다.

  • 매니페스트 없이 애플리케이션 만들기 이 방법을 가상화라고 합니다. 이 옵션은 이전 애플리케이션과의 호환성을 위해 사용합니다.

  • 사용자 지정 매니페스트를 사용합니다. 경로를 입력하거나 프로젝트에 대한 사용자 지정 매니페스트를 찾아볼 수 있습니다.

전역 사용 설정

암시적 전역 사용

정규화된 네임스페이스를 지정하지 않고 네임스페이스에 정의된 형식을 사용할 수 있도록 전역 사용을 사용하거나 사용하지 않도록 설정합니다.

암시적 전역 사용 관리

프로젝트에서 사용하기 위해 전역 사용을 수동으로 추가하고 삭제합니다.

빌드, 일반 설정

조건부 컴파일 기호

조건부 컴파일을 수행할 기호를 지정합니다. 기호를 세미콜론(“;”)으로 구분합니다. 자세한 내용은 /define(C# 컴파일러 옵션)을 참조하세요.

사용자 지정 기호 디버그

디버그 빌드의 조건부 컴파일에 대한 기호를 지정합니다. 기본 디버그 기호는 세미콜론으로 구분된 문자열에 표시됩니다.

사용자 지정 기호 해제

릴리스 빌드의 조건부 컴파일에 대한 기호를 지정합니다. 기본 릴리스 기호는 세미콜론으로 구분된 문자열에 표시됩니다.

플랫폼 대상

출력 파일의 대상으로 프로세서를 지정합니다. 32비트 Intel 호환 프로세서의 경우 x86을 선택하고, 64비트 Intel 호환 프로세서의 경우 x64를 선택하고, ARM 프로세서의 경우 ARM을 선택하고, 임의 프로세스를 허용하도록 지정하려면 임의 CPU를 선택합니다. 임의 CPU는 프로젝트의 기본값입니다. 하드웨어의 가장 광범위한 범위에서 애플리케이션을 실행할 수 있기 때문입니다.

자세한 내용은 /platform(C# 컴파일러 옵션)을 참조하세요.

Nullable

프로젝트 차원의 C# nullable 컨텍스트를 지정합니다. 이 UI 옵션은 Visual Studio 16.5에서 도입되었으며 C# 8.0 이상을 사용하는 프로젝트에서만 사용할 수 있습니다.

자세한 내용은 Nullable 컨텍스트를 참조하세요.

어셈블리 정보 생성

패키지 관련 프로젝트 속성이 어셈블리 특성으로 변환되는지 여부를 지정합니다. 자세한 내용은 GenerateAssemblyInfo 속성을 참조하세요.

안전하지 않은 코드

컴파일에 unsafe 키워드를 사용하는 코드를 허용합니다. 자세한 내용은 /unsafe(C# 컴파일러 옵션)를 참조하세요.

코드 최적화

컴파일러에서 더 작지만 빠르고 효율적인 출력 파일을 만들기 위해 수행하는 최적화 기능을 사용하거나 사용하지 않도록 설정합니다. 자세한 내용은 /optimize(C# 컴파일러 옵션)를 참조하세요.

디버그 기호

컴파일러에서 생성되는 디버깅 정보 형식을 지정합니다. 애플리케이션의 디버그 성능을 구성하는 방법에 대한 자세한 내용은 DebugType 컴파일러 옵션을 참조하세요. 이 설정에는 다음과 같은 옵션이 있습니다.

  • 없음

    디버깅 정보가 생성되지 않도록 지정합니다.

  • full

    디버거를 실행 중인 프로그램에 연결할 수 있습니다.

  • pdbonly

    디버거에서 프로그램이 시작되는 경우 소스 코드 디버깅이 가능하지만, 실행 중인 프로그램이 디버거에 연결되는 경우 어셈블러만 표시됩니다.

  • portable

    플랫폼과 관련되지 않은 이식 가능한 기호 파일인 .PDB 파일을 생성합니다. 이 파일은 기본 실행 파일의 콘텐츠 및 해당 콘텐츠 생성 방식에 대한 정보를 특히 디버거와 같은 다른 도구에 제공합니다. 자세한 내용은 Portable PDB(이식 가능한 PDB)를 참조하세요.

  • embedded

    이식 가능한 기호 정보를 어셈블리에 포함합니다. 외부 .PDB 파일은 생성되지 않습니다.

자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하세요.

빌드, 오류 및 경고 설정

다음 설정은 빌드 프로세스에 대한 오류 및 경고 옵션을 구성하는 데 사용됩니다.

경고 수준

컴파일러 경고에 대한 표시 수준을 지정합니다. 자세한 내용은 /warn(C# 컴파일러 옵션)을 참조하세요.

특정 경고 표시 안 함

하나 이상의 특정 경고를 생성하는 컴파일러의 기능을 차단합니다. 여러 경고 번호를 쉼표 또는 세미콜론으로 구분합니다. 자세한 내용은 /nowarn(C# 컴파일러 옵션)을 참조하세요.

경고를 오류로 처리

빌드 프로세스 중에 경고가 오류로 처리되는지 여부를 선택합니다. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하세요.

특정 경고를 오류로 처리

오류로 처리되는 경고를 지정합니다. 여러 경고 번호를 쉼표 또는 세미콜론으로 구분합니다.

코드 분석 경고를 오류로 취급하지 않으려면 코드 분석 FAQ를 참조하세요.

빌드, 출력 설정

다음 설정은 빌드 프로세스에 대한 출력 옵션을 구성하는 데 사용됩니다.

기본 출력 경로

프로젝트 구성에 사용할 출력 파일의 위치를 지정합니다. 이 상자에 빌드 출력의 경로를 입력하거나 찾아보기 단추를 선택하여 경로를 지정합니다. 경로는 상대 경로입니다. 절대 경로를 입력하면 상대 경로로 저장됩니다. 기본 경로는 bin\Debug 또는 bin\Release\입니다.

단순화된 빌드 구성을 사용하면 프로젝트 시스템에서 디버그 버전을 빌드할지 아니면 릴리스 버전을 빌드할지 결정합니다. 디버그 메뉴(F5)의 빌드 명령은 지정한 출력 경로에 관계없이 빌드를 디버그 위치에 삽입합니다. 그러나 빌드 메뉴의 빌드 명령은 경로를 지정한 위치에 삽입합니다. 자세한 내용은 빌드 구성 이해를 참조하세요.

참조 어셈블리

프로젝트의 공용 API를 포함하는 참조 어셈블리 를 생성할지 여부를 지정합니다.

설명서 파일

문서 주석을 처리할 대상 파일의 이름을 지정합니다. 자세한 내용은 /doc(C# 컴파일러 옵션)를 참조하세요.

빌드, 이벤트 설정

빌드 이벤트 설정에 대한 자세한 내용은 빌드 이벤트 지정(C#)을 참조하세요.

빌드, 게시 설정

게시

MSBuild 게시 대상을 실행할 수 있습니다. 자세한 내용은 MSBuild IsPublishable 속성을 참조하세요.

잘려서 게시

게시 프로세스 중에 트리밍을 사용할 수 있는지 여부를 지정합니다. 자세한 내용은 트리밍 관련 속성을 참조 하세요.

네이티브 AOT 게시

자체 포함되고 네이티브 코드로 컴파일된 AOT(미리 실행)된 앱을 생성할지 여부를 지정합니다. 자세한 내용은 네이티브 AOT 배포를 참조하세요.

빌드, 강력한 명명 설정

어셈블리 서명

어셈블리에 서명하고 강력한 이름 키 파일을 만들려면 이 확인란을 선택합니다. 프로젝트 디자이너를 사용하여 어셈블리에 서명하는 방법에 대한 자세한 내용은 방법: 어셈블리 서명(Visual Studio)을 참조하세요. 자세한 내용은 강력한 이름의 어셈블리를 참조하세요.

이 옵션은 Windows SDK(소프트웨어 개발 키트)에서 제공된 Al.exe 도구를 사용하여 어셈블리에 서명합니다. Al.exe에 대한 자세한 내용은 방법: 강력한 이름으로 어셈블리 서명을 참조하세요.

강력한 이름 키 파일 목록

어셈블리 서명에 사용되는 신규 또는 기존 강력한 이름 키 파일을 지정할 수 있습니다. <찾아보기...>를 선택하여 기존 키 파일을 선택합니다.

서명만 지연

서명 연기를 사용하려면 이 확인란을 선택합니다. 자세한 내용은 어셈블리 지연 서명을 참조하세요.

지연 서명된 프로젝트가 실행되지 않고 디버그될 수 없습니다. 그러나 Sn.exe(강력한 이름 도구)-Vr 옵션과 함께 사용하여 개발 중에 확인을 건너뛸 수 있습니다.

참고 항목

어셈블리에 서명할 때 항상 프라이빗 키에 액세스할 수 있는 것은 아닙니다. 예를 들어 조직에 개발자가 일상적으로 액세스할 수 없는 엄격하게 보호된 키 쌍이 있을 수 있습니다. 퍼블릭 키를 사용할 수 있지만 프라이빗 키에 대한 액세스는 몇몇 개인으로 제한됩니다. 이 경우 지연 또는 일부 서명을 통해 퍼블릭 키를 제공하여 어셈블리가 전달될 때까지 프라이빗 키 추가를 연기할 수 있습니다.

빌드, 고급 설정

다음 옵션을 사용하면 고급 빌드 설정을 설정할 수 있습니다.

언어 버전

프로젝트의 대상 프레임워크에 따라 기본 언어 버전이 선택되는 방식에 대한 정보를 제공하는 /langversion(C# 컴파일러 옵션)에 대한 링크입니다.

산술 오버플로 확인

정수 산술 문이 checked 또는 unchecked 키워드의 범위에 포함되지 않고 데이터 형식 범위를 벗어난 값을 생성할 경우 런타임 예외가 발생할지 여부를 지정합니다. 자세한 내용은 /checked(C# 컴파일러 옵션)를 참조하세요.

결정적

동일한 입력 소스에서 바이트 대 바이트 출력을 생성할지 여부를 지정합니다. 자세한 내용은 코드 생성을 제어하는 C# 컴파일러 옵션을 참조 하세요.

내부 컴파일러 오류 보고

Microsoft에 컴파일러 오류를 보고할지 여부를 지정합니다. prompt(기본값)로 설정되면 내부 컴파일러 오류가 발생할 경우 오류 보고서를 전자 방식으로 Microsoft에 보내는 옵션을 제공하는 프롬프트가 표시됩니다. send로 설정되면 오류 보고서가 자동으로 전송됩니다. queue로 설정되면 오류 보고서가 대기합니다. none으로 설정되면 오류가 컴파일러의 텍스트 출력으로만 보고됩니다. 자세한 내용은 /errorreport(C# 컴파일러 옵션)를 참조하세요.

파일 맞춤

출력 파일에 있는 섹션의 크기를 지정합니다. 유효한 값은 512, 1024, 2048, 40968192입니다. 이러한 값은 바이트 단위로 측정됩니다. 각 섹션은 이 값의 배수인 경계에 맞춰지고 출력 파일 크기에 영향을 미칩니다. 자세한 내용은 /filealign(C# 컴파일러 옵션)을 참조하세요.

패키지, 일반 설정

이 섹션의 속성은 일반적으로 NuGet .nuspec 파일의 속성에 해당하는 패키지를 구성하는 데 사용됩니다. 자세한 내용은 .nuspec 파일을 참조하세요.

패키지, 라이선스 설정

패키지 라이선스

패키지에 라이선스 식 또는 라이선스 파일을 포함할지 여부를 지정합니다. 자세한 내용은 라이선스 요소를 참조하세요.

패키지, 기호 설정

기호 패키지 생성

디버깅을 위한 기호 패키지를 만들지 여부를 지정합니다. 자세한 내용은 기호 패키지 만들기(.snupkg)를 참조하세요.

코드 분석, 모든 분석기 설정

빌드에서 실행

프로젝트를 빌드할 때 소스 코드 분석을 실행할지 여부를 지정합니다. 자세한 내용은 .NET에 대한 소스 코드 분석 사용 안 함을 참조하세요.

라이브 분석에서 실행

프로젝트를 빌드할 때 라이브 소스 코드 분석을 실행할지 여부를 지정합니다. 자세한 내용은 .NET에 대한 소스 코드 분석 사용 안 함을 참조하세요.

코드 분석, .NET 분석기 설정

빌드 시간에 코드 스타일 적용

프로젝트를 빌드할 때 .NET 코드 스타일 위반이 보고되는지 여부를 지정합니다. 자세한 내용은 빌드 시 코드 스타일 적용을 참조하세요.

.NET 분석기 사용

.NET 컴파일러 플랫폼(Roslyn) 분석기를 사용하거나 사용하지 않도록 설정합니다. 자세한 내용은 자사 .NET 분석기 사용 또는 설치를 참조 하세요.

분석 수준

프로젝트에서 실행할 분석기 집합을 지정합니다. 자세한 내용은 코드 분석 개요 문서의 최신 업데이트 섹션을 참조하세요.

디버그, 일반 설정

링크를 선택하여 디버그 시작 프로필 UI를 엽니다. 이 UI를 사용하면 디버깅할 때 사용할 다른 프로필을 추가하고 구성할 수 있습니다. 각 프로필 이름은 디버깅 시작 목록에 시작 옵션으로 표시됩니다.

ASP.NET Core 프로젝트의 경우 시작 프로필 UI의 설정은 프로젝트의 시작설정.json 파일의 설정에 해당합니다. 이 파일이 ASP.NET 개발에 사용되는 방법에 대한 자세한 내용은 개발 및 시작설정.json 참조하세요.

리소스, 일반 설정

링크를 선택하여 RESX 어셈블리 리소스 파일을 엽니다. 자세한 내용은 프로젝트 디자이너 설정 페이지를 참조하세요.

참고 항목

개선된 프로젝트 속성 UI