Share via


파일 속성

파일의 속성을 사용하여 프로젝트 시스템에서 파일에 대해 수행할 동작을 지정할 수 있습니다. 예를 들면, 파일 속성을 설정하여 파일을 컴파일해야 하는지 빌드 출력에 리소스로서 포함해야 하는지를 지정할 수 있습니다.

솔루션 탐색기에서 파일을 선택한 다음 속성 창에서 속성을 검사할 수 있습니다. Visual Basic 및 Visual C# 파일에는 파일 이름, 빌드 작업, 사용자 지정 도구사용자 지정 도구 네임스페이스라는 네 가지 속성이 있습니다.

참고

빌드 작업, 사용자 지정 도구사용자 지정 도구 네임스페이스 속성은 고급 시나리오에 사용됩니다. 대개는 기본값이면 충분하며 변경할 필요가 없습니다.

파일 이름 속성

속성 창에서 파일 이름 속성을 클릭한 다음 새 이름을 입력하여 파일 이름을 변경할 수 있습니다. 파일 이름을 변경하면 그 파일과 연결된 모든 .vb 또는 .resx 파일의 이름도 자동으로 변경됩니다.

빌드 작업 속성

빌드 작업 속성은 빌드가 실행될 때 Visual Studio에서 파일이 어떻게 처리될 것인지를 나타냅니다. 빌드 작업 속성의 값은 다음 중 하나가 될 수 있습니다.

  • 없음 - 파일이 프로젝트 출력 그룹에 포함되지 않으며 빌드 단계에서 컴파일되지 않습니다. 추가 정보 파일 같은 설명이 포함된 텍스트 파일을 예로 들 수 있습니다.

  • 컴파일 - 파일이 빌드 출력에 컴파일됩니다. 이 설정은 코드 파일에 사용됩니다.

  • 내용 - 파일이 컴파일되지 않지만 내용 출력 그룹에는 포함됩니다. 예를 들어, 이 설정은 .htm 파일 또는 다른 형식의 웹 파일에 대한 기본값입니다.

  • 포함 리소스 - 이 파일은 주 프로젝트 빌드 출력에 DLL이나 실행 파일로 포함되며 일반적으로 리소스 파일에 사용됩니다.

    참고

    빌드 작업 속성은 확장 가능하므로 다른 제품과 기능에 의해 추가된 이 속성의 추가 옵션이 나열될 수 있습니다.

빌드 작업 속성의 기본값은 솔루션에 추가되는 파일의 확장명에 따라 다릅니다. 예를 들어, 솔루션 탐색기에 Visual Basic 프로젝트를 추가하는 경우 빌드 작업의 기본값은 컴파일이 됩니다. 이는 .vb 확장명이 컴파일할 수 있는 코드 파일을 나타내기 때문입니다. 파일 이름과 확장명은 솔루션 탐색기에 표시됩니다.

프로젝트에 있는 파일의 이름은 어셈블리 매니페스트에서 관리되는 리소스의 식별자가 아닙니다. 자세한 내용은 어셈블리 매니페스트를 참조하십시오. 식별자는 namespace.filename.extension이 됩니다. 여기서 namespace는 Visual C# 프로젝트의 DefaultNamespace 속성 값이거나 Visual Basic 프로젝트의 RootNamespace 속성 값입니다. Filename 및 extension은 원래 지정과 동일하게 유지됩니다. .resx 파일의 경우에는 프로젝트 시스템에서 파일에 대해 resgen.exe를 실행하여 .resource 파일을 만듭니다. .resource 파일은 리소스에 포함됩니다. 그러므로 어셈블리 매니페스트가 .resx 파일이 아닌 .resource 파일을 참조합니다.

예를 들어, 기본 네임스페이스가 MyProj인 프로젝트에 MyFile.bmp 파일을 추가하고 빌드 작업을 포함 리소스로 설정할 경우 어셈블리 매니페스트에서 식별자는 MyProj.MyFile.bmp가 됩니다. 그런 다음 MyFile.resx 파일을 프로젝트에 추가하면 기본 빌드 작업이 포함 리소스로 설정되고, 어셈블리 매니페스트에서 식별자는 MyProj.MyFile.resources가 됩니다.

.resx 파일은 이미지 파일을 참조하므로 리소스 편집기에서 이미지를 추가하면 빌드 작업없음으로 설정됩니다. 빌드할 때 해당 이미지는 .resx 파일 외부에서 만들어진 .resources 파일로 가져오게 됩니다. 그러면 .resx 파일에 대해 자동으로 생성되는 강력한 형식의 클래스를 통해 이미지에 쉽게 액세스할 수 있습니다. 따라서 이 설정을 포함 리소스로 변경하지 않아야 합니다. 그렇게 하면 이미지가 어셈블리에 두 번 포함됩니다.

.resx 파일에서 컴파일된 리소스 파일을 런타임에 액세스하는 방법에 대한 자세한 내용은 ResourceManager를 참조하십시오. 포함된 다른 모든 파일과 리소스를 런타임에 액세스하는 방법에 대한 자세한 내용은 GetManifestResourceStream을 참조하십시오.

출력 디렉터리로 복사 속성

이 속성에서는 선택한 소스 파일을 출력 디렉터리로 복사할 조건을 지정합니다. 파일을 출력 디렉터리로 복사하지 않으려면 복사 안 함을 선택합니다. 그리고 파일을 항상 출력 디렉터리로 복사하려면 항상 복사를 선택합니다. 파일이 출력 디렉터리에 있는 이름이 같은 기존 파일보다 최신 버전인 경우에만 복사하려면 변경된 내용만 복사를 선택합니다.

출력 디렉터리를 변경하는 방법에 대한 자세한 내용은 프로젝트 디자이너, 빌드 페이지(C#) 또는 프로젝트 디자이너, 컴파일 페이지(Visual Basic)를 참조하십시오.

참고

스마트 장치 프로젝트에서 .dll 또는 .exe 파일이 변경되었는지 여부는 다음과 같이 Win32 버전을 비교하여 결정됩니다.

장치 쪽 버전이 데스크톱 버전보다 낮으면 파일이 복사됩니다.

장치 쪽 버전이 데스크톱 버전보다 높으면 파일이 복사되지 않습니다.

버전이 같으면 체크섬이 비교됩니다. 체크섬이 같으면 파일이 복사되지 않고, 체크섬이 다르면 파일이 복사됩니다.

.dll 및 .exe 이외의 파일이 변경되었는지 여부는 체크섬만을 비교하여 결정됩니다.

참고

데이터 파일이 출력 디렉터리의 Data Files라는 하위 폴더에 복사됩니다.

사용자 지정 도구 속성

사용자 지정 도구는 디자인 타임에 파일을 다른 형식으로 변환하는 데 사용할 수 있는 구성 요소입니다. XML 스키마(.xsd) 파일을 읽고 프로그래밍 방식으로 테이블과 열을 노출하는 코드 파일에 클래스를 생성하는 데이터 집합 코드 생성기는 사용자 지정 도구의 한 예입니다. 제품에서 사용할 수 있는 미리 정의된 사용자 지정 도구의 목록이 있습니다. 이 속성을 사용하면 파일에 적용되는 사용자 지정 도구를 확인할 수 있습니다. 드물지만 이 속성의 값을 변경해야 하는 경우도 있습니다. 이 속성의 값은 비워 두거나 기본 제공된 사용자 지정 도구 중 하나로 설정해야 합니다.

사용자 지정 도구를 설정하거나 변경하려면 속성 창에서 사용자 지정 도구 속성을 클릭한 다음 사용자 지정 도구의 이름을 입력합니다.

사용자 지정 도구 네임스페이스 속성

프로젝트에 사용자 지정 도구를 할당한 경우 사용자 지정 도구에서 생성한 코드에 할당할 네임스페이스를 사용자 지정 도구 네임스페이스 속성을 통해 지정할 수 있습니다. 사용자 지정 도구 네임스페이스 속성에 값을 지정하면 사용자 지정 도구에서 생성된 코드가 지정된 네임스페이스에 배치됩니다. 이 속성이 비어 있는 경우 생성된 코드는 변환된 파일이 있는 폴더의 기본 네임스페이스에 배치됩니다. 이 네임스페이스는 Visual Basic의 경우 프로젝트의 루트 네임스페이스이고 Visual C#의 경우에는 폴더의 기본 네임스페이스 속성 설정에 해당합니다.

참고 항목

개념

Visual Basic 및 Visual C#에서의 파일 형식 및 파일 확장명

기타 리소스

프로젝트 속성(Visual Studio)

Visual Studio의 기본 프로젝트 템플릿

프로젝트 구성 디버그 및 릴리스