programing

중복된 '콘텐츠' 항목이 포함되었습니다..NET SDK에는 기본적으로 프로젝트 디렉토리의 '콘텐츠' 항목이 포함되어 있습니다.

telecom 2023. 7. 19. 21:11
반응형

중복된 '콘텐츠' 항목이 포함되었습니다..NET SDK에는 기본적으로 프로젝트 디렉토리의 '콘텐츠' 항목이 포함되어 있습니다.

asp.마다 asp.net 을 합니다.dotnet run터미널에서 합니다. bash 터미다오발생합니다류가음서에널.

/usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/빌드/마이크로소프트

.NET.Sdk.DefaultItems.targets(188,5): 오류: 중복된 'Content' 항목이 포함되었습니다..NET SDK에는 기본적으로 프로젝트 디렉터리의 '콘텐츠' 항목이 포함되어 있습니다.프로젝트 파일에서 이러한 항목을 제거하거나 프로젝트 파일에 명시적으로 포함하려는 경우 'EnableDefaultContentItems' 속성을 'false'로 설정할 수 있습니다.자세한 내용은 https://aka.ms/sdkimplicititems 을 참조하십시오.중복 항목은 'wwroot/css/BasicQuotation.css'; 'wwwroot/js/BasicQuotation.js' [/mnt/c/Dev/myProject/MyProject.csproj]입니다.

빌드에 실패했습니다.빌드 오류를 수정하고 다시 실행하십시오.

저는 이것을 제거함으로써 고칠 수 있습니다.ItemGroup내 csproj 파일에서, 하지만 나는 그것이 매우 생산적이라고 생각하지 않습니다.

이문기 Visual Studio 2017 ASP.NET Core Web Application()입니다.NET Core) 템플릿에서 발생합니다.> 오른쪽 버튼으로 한 후 wwwroot > js를 합니다.Add > New Item > JavaScript File

다음은 내 .csproj 파일입니다.

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
  </PropertyGroup>

  <PropertyGroup>
    <UserSecretsId>aspnet-MyProject-7e1906d8-5dbd-469a-b237-d7a563081253</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="wwwroot\lib\jquery-validation\**" />
    <Content Remove="wwwroot\lib\jquery-validation\**" />
    <EmbeddedResource Remove="wwwroot\lib\jquery-validation\**" />
    <None Remove="wwwroot\lib\jquery-validation\**" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="wwwroot\css\BasicQuotation.css" />
    <Content Include="wwwroot\js\BasicQuotation.js" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" PrivateAssets="All" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Data\Commands\" />
    <Folder Include="Data\Queries\" />
    <Folder Include="wwwroot\images\" />
  </ItemGroup>

</Project>
1. Click 'Show All Files' in Solution Explorer
2. Right-click over 'wwwroot' select 'Exclude From Project'
3. Right-click over 'wwwroot' select 'Include in Project'

그래서 저는 같은 문제에 부딪혔습니다.DefaultCompile을 해제하고 싶지 않았습니다.그것이 문제를 "해결"할 수 없다는 것을 알았기 때문에 항목.그래서 저는 프로젝트를 언로드하고 Visual Studio에서 .csproj 파일을 텍스트 모드로 열었고 이것을 보았습니다.

<ItemGroup>
    <Content Include="wwwroot\css\custom-bootstrap-navbar.css" />
    <Content Include="wwwroot\images\friends-eating\image1.jpg" />
    <Content Include="wwwroot\images\friends-eating\image2.jpg" />
    <Content Include="wwwroot\images\friends-eating\image3.jpg" />
</ItemGroup>
<ItemGroup>
    <Folder Include="wwwroot\images\friends-eating\" />
</ItemGroup>

제가 첫 번째 ItemGroup 블록에 대해 의견을 제시했을 때 효과가 있었습니다.프로젝트가 전체 \images\friends-eating\폴더를 추가한 다음 각 개별 이미지를 추가하여 중복이 발생한다고 가정합니다.

사용자 지정 CSS 및 Js에 대해서는 프로젝트에서 자동으로 wwwroot\css 및 wwwroot\js를 추가하므로 개별 파일(예: wwwroot\css\custom-bootstrap-navbar.css)이 추가되면 중복 파일로 계산됩니다.

제 경우에는 효과가 있었습니다.

 <PropertyGroup>
    ...
    <EnableDefaultContentItems>false</EnableDefaultContentItems>
  </PropertyGroup>

링크에 나와 있듯이 이 동작을 사용하지 않도록 설정하고(자동 포함) 모든 콘텐츠를 사용자의 웹 사이트에 추가하여 명시적으로 포함할 수 있습니다.csproj파일 이름:

<PropertyGroup>
    <EnableDefaultContentItems>false</EnableDefaultContentItems>
</PropertyGroup>

제 프로젝트를 지금 .NET Core 1.X에서 2.0으로 업그레이드할 때 발생합니다.여기 제 해결책이 있습니다.

  • xxx.csproj를 열거나 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
  • 프로젝트 언로드
  • xxx.csproj를 편집합니다.

다음 합니다. ItemGroup 항목은 " "로 합니다.<Content Include = "wwwroot\xxxxx"

나의 문제는 가까웠지만 정확히 똑같지는 않았습니다.내 실수는 다음과 같습니다.

C:\Program Files\dotnet\sdk\2.0.0-preview2-006497\Sdks\Microsoft.NET.SDK\build\Microsoft.NET.Sdk.기본 Items.targets(285,5): 오류: 중복된 'Content' 항목이 포함되었습니다..NET SDK에는 기본적으로 프로젝트 디렉터리의 '콘텐츠' 항목이 포함되어 있습니다.프로젝트 파일에서 이러한 항목을 제거하거나 프로젝트 파일에 명시적으로 포함하려는 경우 'EnableDefaultContentItems' 속성을 'false'로 설정할 수 있습니다.자세한 내용은 https://aka.ms/sdkimplicititems 을 참조하십시오.중복된 항목: 'wwwroot\js\KObindings.js'; 'wwwroot\js\KOPleaseWait.js'; 'wwwroot\js\ProjectTime\Add.js'; 'wwwroot\js\시간 관리자\Invoice.js'; 'wwwroot\js\TimeAdmin\PayPeriodTotals.js' [C:\Avantia Projects\]타임카드\avantia-timesheet\솔루션\연감연감.csproj]

내가 이런 짓을 하면,

<EnableDefaultContentItems>false</EnableDefaultContentItems>

그것은 갑자기 컴파일되지 않았습니다.Areas인식되지 않습니다.

내 해결책은 이상해 보이지만 메시지에 중복된 파일이 있다는 것이 표시됩니다.

중복된 항목: 'wwwroot\js\KObindings.js'; 'wwwroot\js\KOPleaseWait.js'; 'wwwroot\js\ProjectTime\Add.js'; 'wwwroot\js\시간 관리자\Invoice.js'; 'wwwroot\js\TimeAdmin\PayPeriodTotals.js'

나의 것을 보는 것..csproj파일 이름:

<ItemGroup>
  <Content Include="pdf.js" />
  <Content Include="wwwroot\js\package.json" />
  <Content Include="wwwroot\js\pdf.js" />
  <Content Include="wwwroot\js\KOBindings.js" />
  <Content Include="wwwroot\js\KOPleaseWait.js" />
  <Content Include="wwwroot\js\ProjectTime\Add.js" />
  <Content Include="wwwroot\js\TimeAdmin\Invoice.js" />
  <Content Include="wwwroot\js\TimeAdmin\PayPeriodTotals.js" />
</ItemGroup>

이 위치는 로드된 위치를 제외하고 전체 프로젝트 내에서 이러한 파일이 참조되는 유일한 위치입니다.그래서 중복이라는 단어는 저에게 전혀 의미가 없습니다.하지만, 그 파일들을 그렇게 언급하는 것은 제 문제를 해결해주었습니다.

<ItemGroup>
  <Content Include="pdf.js" />
  <Content Include="wwwroot\js\package.json" />
  <Content Include="wwwroot\js\pdf.js" />
  <!--
    <Content Include="wwwroot\js\KOBindings.js" />
    <Content Include="wwwroot\js\KOPleaseWait.js" />
    <Content Include="wwwroot\js\ProjectTime\Add.js" />
    <Content Include="wwwroot\js\TimeAdmin\Invoice.js" />
    <Content Include="wwwroot\js\TimeAdmin\PayPeriodTotals.js" />
  -->
</ItemGroup>

제 생각에 이것은 그 사건과 관련이 있을 것 같습니다.2.0.0-preview2-006497설치한 파일을 클릭합니다.

또한, 링크는 글러브에 대한 이야기를 언급합니다.하지만 그게 어디 있는지는 말해주지 않습니다.SDK 등에 대해 설명합니다.하지만 그 대답은 나의 관습이었습니다..js파일입니다. IMHO에서 링크를 업데이트하거나 확장해야 합니다.이것이 누군가에게 도움이 되기를 바랍니다.

다른 SO 검색자를 돕기 위해 위의 예에서 볼 수 있는 것은 아닙니다.

동일한 파일이 에 두 번 나열된 경우에도 이 오류가 발생할 수 있습니다.<Content Include="xxx" />csprojjava.

중복 항목을 제거하고 다시 작성합니다.

저의 경우 VS의 wwwroot-Directory에서 모든 파일을 삭제하여 해결했습니다.프로젝트를 언로드하고 다시 로드합니다.VS로 모든 파일을 다시 복사합니다.다 했어요.

.net 는 자동으로 Asp.net 의 합니다.wwwroot\css\,wwwroot\js\그리고.wwwroot\lib\ 당신의 위치, 그래이불구만고약당신이하도것에서▁your▁location,당이신만약▁this▁if▁despite,▁so고.csproj에는 해당 가 명시적으로 해당 할 수 .csproj파일이 이 오류를 제거하는 더 좋은 방법입니다. 아래 내용을 하세요. - ▁so.

  <ItemGroup>
    <Compile Remove="wwwroot\lib\jquery-validation\**" />
    <Content Remove="wwwroot\lib\jquery-validation\**" />
    <EmbeddedResource Remove="wwwroot\lib\jquery-validation\**" />
    <None Remove="wwwroot\lib\jquery-validation\**" />   
 </ItemGroup>

  <ItemGroup>
    <Content Include="wwwroot\css\BasicQuotation.css" />
    <Content Include="wwwroot\js\BasicQuotation.js" />   
  </ItemGroup>

.NET 핵심 프로젝트

클래스 라이브러리에 있는 경우 csproj에서 컴파일/콘텐츠 요소가 자동으로 포함되므로 해당 요소를 모두 제거해야 합니다.

<Project Sdk="Microsoft.NET.Sdk">    
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <!-- NEEDED -->
  <ItemGroup>
    <ProjectReference />
    <ProjectReference />
  </ItemGroup>
  <!-- NOT NEEDED -->
  <ItemGroup>
   <Compile Include="Models\ExampleClass.cs" />
   <Content ... />
  </ItemGroup>
</Project>

저의 경우 기본 항목 아래에 있는 두 항목을 모두 사용할 수 없습니다.

<EnableDefaultContentItems>false</EnableDefaultContentItems>
<EnableDefaultItems>false</EnableDefaultItems>

솔루션 탐색기에서 문제의 파일을 클릭하고 "프로젝트에서 제외"를 선택했습니다.그런 다음 "프로젝트에 포함"을 사용하여 다시 추가합니다.

Visual Studio 2017 15.3에서 .NET Core 2.0을 사용하여 기본 컴파일 사용물건이 저에게 맞지 않았습니다.

.csproj에 추가해야 했습니다.

  <PropertyGroup>
    <EnableDefaultContentItems>false</EnableDefaultContentItems>
  </PropertyGroup>

저는 다른 적절한 해결책을 찾았습니다.

  1. mvc 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 csproj 편집을 클릭합니다.
  2. 만약 당신이 wwwroot 아래에 파일을 추가하고 있다면, 그것들을 wwwroot 아래에 있는 폴더로 이동하기만 하면 됩니다. "테마"라고 합시다.

그리고 csproj 파일에 있는 모든 콘텐츠 태그가 있는 경우 삭제합니다. 예:

<Content Include="wwwroot\theme\favicon.ico" />
<Content Include="wwwroot\theme\fonts\cyrillic-ext400.woff2" />
<Content Include="wwwroot\theme\fonts\cyrillic-ext700.woff2" />

그리고 이것만 추가합니다.

  <ItemGroup>
    <Folder Include="wwwroot\theme\" />
  </ItemGroup>

따라서 csproj 파일은 다음과 같아야 합니다.

    <Project Sdk="Microsoft.NET.Sdk.Web">

      <PropertyGroup>
        <TargetFramework>netcoreapp1.1</TargetFramework>
      </PropertyGroup>

      <PropertyGroup>
        <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
      </PropertyGroup>

      <ItemGroup>
        <Folder Include="wwwroot\theme\" />
      </ItemGroup>
      <ItemGroup>
        <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
...

그렇게 해서 당신은 모든 파일을 테마 폴더 아래에 추가하는 것 같습니다.따라서 오류가 발생하는 항목을 하나씩 포함하지 마십시오.

제가 추천한 절차를 따르도록 실사를 했음에도 불구하고 제 앞에 작성된 모든 답변이 '복제' 오류를 해결하지 못했습니다.

Nuget Package Manager에서 WinUI 3 Application의 SDK를 Windows App SDK 0.8에서 1.0으로 업그레이드하려고 할 때 '콘텐츠 복제' 문제가 발생했습니다.이 작업을 수행했을 때 프로젝트에서 컴파일할 때마다 이 오류가 발생하기 시작했고, 다른 사람들이 제안한 제외/포함 방법을 시도했지만 소용이 없었습니다.

범인을 찾는 데 약 8시간이 걸렸는데, 이는 Windows App SDK 0.8에 아직 남아 있는 다른 WinUI 라이브러리 프로젝트를 참조한 것이었습니다.다른 WinUI 라이브러리 프로젝트를 SDK 1.0으로 업그레이드하자 이 오류가 사라졌습니다.

다른 사람에게 도움이 될 경우를 대비하여 이 답변을 여기에 남깁니다.

중복 오류가 있는 폴더를 제외하고 다시 포함하는 것이 나에게 효과가 있었습니다!이것이 다른 누군가에게 도움이 되기를 바랍니다!

"EnableDefaultContentItems"를 비활성화하는 것은 최선의 선택사항이 아니라고 생각합니다.설명서cs-Proj파일 편집도 전혀 좋은 생각이 아닙니다.

그래서 빌드 서버 파이프라인을 위해 중복된 모든 항목을 자동으로 제거하는 매우 작은 도구를 작성했습니다. dotnet-csproj-cleaner

지속적인 통합 파이프라인의 첫 번째 빌드 단계로 Docker에서 실행합니다.

파일 하나에 대해서만 동일한 문제가 발생했고 다른 모든 문제가 해결되었습니다(모든 템플릿이 wwwroot/content에 직접 저장됨).그 프로젝트는 제가 만든 것이 아니라서 자세히는 모릅니다.

문제가 발생한 파일의 이름을 앞뒤로 변경하여 문제를 해결했습니다.

MyTemplate.html --이름 변경 --> MyTemplate2.html --이름 변경 --> MyTemplate.html

참고: 첫 번째 이름 변경 시 "content configuration not found"라는 오류가 발생했지만 두 번째 이름 변경은 문제 없이 작동했습니다.

그 후 저는 프로젝트를 성공적으로 컴파일할 수 있었습니다.

이제 막 시작한 참인데 wwwroot 폴더를 웹 애플리케이션 템플릿에서 API 템플릿으로 만든 프로젝트로 복사하려고 할 때 이 오류가 발생했습니다.부트스트랩을 제거하면 해결됩니다. jquery만 있으면 되기 때문에 괜찮습니다.

의 새로운 WinUI 프로젝트에서 발생했습니다.이전 WinUI 구성 요소를 참조할 때만 Net 6.이전 WinUI 구성 요소에서 다음 작업을 수행하여 해결할 수 없는 많은 오류(예: InitializeComponent를 찾을 수 없음)를 해결했습니다.

  1. 다음 패키지 제거

enter image description here

  1. 다음으로 대체:

enter image description here

.net core 6.0의 경우 해결된 문제:

.svroj 파일에 추가

 <ItemGroup>
   <Content Update="wwwroot\**\*">
     <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
   </Content>
 </ItemGroup>

Visual Studio for Mac에서 프로젝트 파일의 Git 변경 사항을 확인할 때 편집 내용을 확인할 수 있는 클래스 파일의 이름을 변경했습니다.파일을 제거하고 프로젝트에 다시 추가하면 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/43325916/duplicate-content-items-were-included-the-net-sdk-includes-content-items-f

반응형