NETSDK1022: 중복 항목이 포함됨
이 문서의 적용 대상: ✔️ .NET Core 2.1.100 SDK 이상 버전
Visual Studio 2017/MSBuild 버전 15.3부터 .NET SDK는 기본적으로 프로젝트 디렉터리의 항목을 자동으로 포함합니다. 이러한 항목에는 Compile
및 Content
대상이 포함됩니다. 이 동작은 프로젝트 파일을 간소화합니다.
하지만 프로젝트 파일에서 이러한 항목을 명시적으로 정의하는 경우 다음과 비슷한 빌드 오류가 발생할 수 있습니다.
중복된 'Compile' 항목이 포함되었습니다. .NET SDK에는 기본적으로 프로젝트 디렉터리의 'Compile' 항목이 포함됩니다. 프로젝트 파일에서 해당 항목을 제거하거나, 프로젝트 파일에서 해당 항목을 명시적으로 포함하려면 'EnableDefaultCompileItems' 속성을 'false'로 설정하면 됩니다.
중복된 'EmbeddedResource' 항목이 포함되었습니다. .NET SDK에는 기본적으로 프로젝트 디렉터리의 'EmbeddedResource' 항목이 포함됩니다. 프로젝트 파일에서 해당 항목을 제거하거나, 프로젝트 파일에 해당 항목을 명시적으로 포함하려면 'EnableDefaultEmbeddedResourceItems' 속성을 'false'로 설정할 수 있습니다.
오류를 해결하려면 다음 중 하나를 수행합니다.
앞의 표에 나열된 암시적
Compile
,EmbeddedResource
또는None
항목과 일치하는 항목을 제거합니다.모든 암시적 파일 포함을 사용하지 않으려면 EnableDefaultItems 속성을
false
로 설정합니다.<PropertyGroup> <EnableDefaultItems>false</EnableDefaultItems> </PropertyGroup>
앱과 함께 게시할 파일을 지정하려는 경우 해당 항목(예:
Content
요소)에 알려진 MSBuild 메커니즘을 계속 사용할 수 있습니다.EnableDefaultCompileItems, EnableDefaultEmbeddedResourceItems 또는 EnableDefaultNoneItems 속성을
false
로 설정하여Compile
,EmbeddedResource
또는None
GLOB를 선택적으로 사용하지 않도록 설정합니다.<PropertyGroup> <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems> <EnableDefaultNoneItems>false</EnableDefaultNoneItems> </PropertyGroup>
Compile
GLOB만 사용하지 않도록 설정하는 경우 Visual Studio의 솔루션 탐색기는 *.cs 항목을None
항목으로 포함된 프로젝트의 일부로 계속 표시합니다. 암시적None
GLOB를 사용하지 않도록 설정하려면EnableDefaultNoneItems
도false
로 설정합니다.
WPF 프로젝트
중복된 ApplicationDefinition
또는 Page
항목으로 인해 WPF 프로젝트에서 이 오류가 발생할 수 있습니다. 오류를 해결하려면 MSBuild 속성을 사용하여 기본 항목을 사용하지 않도록 설정할 수 있습니다. 예를 들어 WPF 프로젝트에서 기본 Page
항목을 사용하지 않도록 설정하려면 EnableDefaultPageItems
를 false
로 설정합니다.
<PropertyGroup>
<EnableDefaultPageItems>false</EnableDefaultPageItems>
</PropertyGroup>
자세한 내용은 중복 항목과 관련된 오류(WPF)를 참조하세요.
.NET