รวมรายการ 'เนื้อหา' ที่ซ้ำกัน .NET SDK รวมรายการ 'เนื้อหา' จากไดเรกทอรีโครงการของคุณโดยค่าเริ่มต้น


132

เมื่อใดก็ตามที่ฉันเพิ่มไฟล์ javascript หรือ css ในโปรเจ็กต์หลัก asp.net ของฉันและฉันดำเนินการdotnet runใน bash terminal ฉันได้รับข้อผิดพลาดต่อไปนี้:

/usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft

.NET.Sdk.DefaultItems.targets (188,5): ข้อผิดพลาด: รวมรายการ 'เนื้อหา' ที่ซ้ำกัน .NET SDK รวมรายการ 'เนื้อหา' จากไดเรกทอรีโครงการของคุณโดยค่าเริ่มต้น คุณสามารถลบรายการเหล่านี้ออกจากไฟล์โครงการของคุณหรือตั้งค่าคุณสมบัติ "EnableDefaultContentItems" เป็น "เท็จ" หากคุณต้องการรวมไว้ในไฟล์โครงการของคุณอย่างชัดเจน สำหรับข้อมูลเพิ่มเติมโปรดดูที่https://aka.ms/sdkimplicititems รายการที่ซ้ำกันคือ: 'wwwroot / css / BasicQuotation.css'; 'wwwroot / js / BasicQuotation.js' [/mnt/c/Dev/myproject/MyProject/MyProject.csproj]

การสร้างล้มเหลว โปรดแก้ไขข้อผิดพลาดของการสร้างและเรียกใช้อีกครั้ง

ฉันสามารถแก้ไขได้โดยการลบItemGroupไฟล์ csproj ออกจากไฟล์ 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>

13
หากคุณกำลังวิ่งเข้าไปในปัญหานี้หลังจากการปรับปรุง VS2017 จะ v15.3 ให้แน่ใจว่าคุณจะดูที่นี่ MS ตัดสินใจรวมโฟลเดอร์บางโฟลเดอร์เช่น wwwroot ตามค่าเริ่มต้นซึ่งหมายความว่าอาจรวมสองครั้ง
jao

บทความที่ @jao แบ่งปันอธิบายได้เป็นอย่างดีว่าทำไมสิ่งนี้จึงเกิดขึ้นและจะแก้ไขอย่างไร เพียงตรงไปที่บทความนั้น
Pepito Fernandez

คำตอบ:


107

ดังนั้นฉันจึงพบปัญหาเดียวกันนี้ ฉันไม่ต้องการปิด DefaultCompileItems เพราะฉันรู้ว่าจะไม่ "แก้ไข" ปัญหา ดังนั้นฉันจึงยกเลิกการโหลดโครงการของฉันและเปิดไฟล์. csproj ในโหมดข้อความใน Visual Studio และเห็นสิ่งนี้

<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) มันจะนับว่าซ้ำกัน


สิ่งนี้<Folder Include="wwwroot\" />ใช้ได้กับฉัน แต่สตูดิโอภาพจะเลิกทำในภายหลัง :(
Jaider

3
โอเคฉันไม่เข้าใจ วิชวลสตูดิโอกำลังทำอะไรอยู่และทำไม?
tnk479

194
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'

3
การทำเช่นนี้ช่วยแก้ปัญหาให้ฉันได้ แต่สิ่งที่ทำให้มันใช้งานได้จริง
Rono

@Rono ดูเหมือนว่ามันจะระบุไฟล์ทั้งหมดในไฟล์ wwwroot ของคุณอย่างชัดเจนในไฟล์. csproj เช่น: i.imgur.com/4SPnQ5h.png
J. Schei

4
ทำงานให้ฉันเช่นกัน - และเป็นวิธีที่ปลอดภัยกว่าในความคิดของฉันมากกว่าคำตอบที่ยอมรับ
brinch

มันได้ผลสำหรับฉันด้วย! การปิดใช้งาน DefaultContentItems ช่วยสร้างโซลูชันของฉัน แต่รูปภาพ CSS และไฟล์อื่น ๆ ไม่แสดง
Bruno Serrano

1
เมื่อคุณไม่รวม "wwwroot" คุณอาจต้องคลิกปุ่ม "แสดงไฟล์ทั้งหมด" (ซึ่งดูเหมือนกระดาษ 3 แผ่นซ้อนกันไม่เป็นระเบียบ) ที่ด้านบนของ Solution Explorer เพื่อดูโฟลเดอร์ "wwwroot" เพื่อให้คุณสามารถเพิ่มกลับได้ ค่ะของฉันหายไปและฉันไม่รู้ว่าจะเอามันกลับคืนมาได้อย่างไรจนกว่าฉันจะเจอปุ่มนี้ โฟลเดอร์จะมีลักษณะเป็นสีเทาเพื่อแสดงว่าไม่รวมอยู่ด้วย
James Toomey

25

สิ่งนี้ใช้ได้ผลในกรณีของฉัน:

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

3
ตามที่ระบุไว้ในความคิดเห็นของฉันเกี่ยวกับคำตอบของ Pinki ฉันจะไม่เสนอสิ่งนี้เป็นวิธีแก้ปัญหาเนื่องจากอาจทำให้เกิดข้อผิดพลาดมากขึ้น
Matt

จริงๆแล้วฉันพบปัญหาใหญ่กว่าการตั้งค่าตัวเลือกนี้เป็นเท็จ ฉันขอแนะนำว่าอย่าตั้งค่าเป็นเท็จ
Rwiti

วิธีใดที่จะทำให้โฟลเดอร์รวมเป็นองค์ประกอบ EmbeddedResource ทั้งหมดได้อย่างชัดเจนที่สุด
John Zabroski

หลังจาก wwwroot นี้ไม่รวมอีกต่อไป อย่าใช้สิ่งนี้ดีกว่า ...
UNeverNo

14

เกิดขึ้นเมื่อฉันอัปเกรดโครงการจาก. NET Core 1.X เป็น 2.0 ในตอนนี้ นี่คือทางออกของฉัน

  • เปิด xxx.csproj หรือคลิกขวาที่โปรเจ็กต์
  • ยกเลิกการโหลดโครงการ
  • แก้ไข xxx.csproj

จากนั้นลบรายการ ItemGroup เริ่มต้นด้วย <Content Include = "wwwroot\xxxxx"


ขอบคุณ! หมายเหตุ: ดูเหมือนว่าจะเกี่ยวข้องกับ Visual Studio เวอร์ชันล่าสุด 15.3 ไม่ใช่โดยตรงกับ. NET Core 2.0
Vincent V.

10

ปัญหาของฉันใกล้เคียง แต่ไม่เหมือนกันทุกประการ ข้อผิดพลาดของฉันคือ:

C: \ Program Files \ dotnet \ sdk \ 2.0.0-preview2-006497 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets (285,5): ข้อผิดพลาด: รายการ 'เนื้อหา' ซ้ำกัน รวมอยู่ด้วย .NET SDK รวมรายการ 'เนื้อหา' จากไดเรกทอรีโครงการของคุณโดยค่าเริ่มต้น คุณสามารถลบรายการเหล่านี้ออกจากไฟล์โครงการของคุณหรือตั้งค่าคุณสมบัติ "EnableDefaultContentItems" เป็น "เท็จ" หากคุณต้องการรวมไว้ในไฟล์โครงการของคุณอย่างชัดเจน สำหรับข้อมูลเพิ่มเติมโปรดดูที่https://aka.ms/sdkimplicititems รายการที่ซ้ำกันคือ: 'wwwroot \ js \ KOBindings.js'; 'Wwwroot \ js \ KOPleaseWait.js'; 'Wwwroot \ js \ ProjectTime \ Add.js'; 'Wwwroot \ js \ TimeAdmin \ Invoice.js'; 'wwwroot \ js \ TimeAdmin \ PayPeriodTotals.js' [C: \ Avantia Projects \ Time Card \ avantia-timesheet \ Solution \ Almanac \ Almanac

ถ้าฉันทำสิ่งนี้:

<EnableDefaultContentItems>false</EnableDefaultContentItems>

มันจะไม่รวบรวมเพราะในทันทีAreasจะไม่เป็นที่รู้จัก

วิธีแก้ปัญหาของฉันดูเหมือนจะแปลก แต่ข้อความกำลังบอกฉันว่ามีไฟล์ที่ซ้ำกัน:

รายการที่ซ้ำกันคือ: 'wwwroot \ js \ KOBindings.js'; 'Wwwroot \ js \ KOPleaseWait.js'; 'Wwwroot \ js \ ProjectTime \ Add.js'; 'Wwwroot \ js \ TimeAdmin \ 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ที่ฉันเพิ่งติดตั้ง

นอกจากนี้ลิงก์นี้ยังกล่าวถึงเรื่อง globs แต่ไม่บอกว่าอยู่ที่ไหน มันพูดถึง SDK และอื่น ๆ แต่คำตอบคือ.jsไฟล์ที่ฉันกำหนดเอง ลิงก์นั้นต้องได้รับการอัปเดตหรือขยายใน IMHO หวังว่านี่จะช่วยใครบางคนได้


อยากรู้ว่าทำไมถึงได้ผล อย่างไรก็ตามแค่ทำงานให้ฉัน =)
Frog Pr1nce

10

ตามที่ลิงก์บอกคุณสามารถปิดใช้งานพฤติกรรมนี้ (รวมอัตโนมัติ) และรวมเนื้อหาทั้งหมดอย่างชัดเจนโดยเพิ่มสิ่งนี้ลงในcsprojไฟล์ของคุณ:

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

1
เมื่อฉันเพิ่มมันลงในไฟล์ csproj ของฉันและฉันลบ css / js itemgroup ฉันได้รับข้อผิดพลาดต่อไปนี้:CSC : error CS5001: Program does not contain a static 'Main' method suitable for an entry point [/mnt/c/Dev/myproject/MyProject/MyProject.csproj] The build failed. Please fix the build errors and run again.
jao

2
"เนื้อหา" ไม่ใช่ "รวบรวม" - ไม่ใช่หรือ?
harveyt

หมายเหตุด้านหนึ่ง .... หากคุณไม่รวมโฟลเดอร์ Views ไว้อย่างชัดเจนระบบจะไม่เผยแพร่มุมมองของคุณด้วยการตั้งค่านี้
ยินดี

ฉันลองแล้ว แต่มันไม่ได้ผล ยังคงได้รับข้อผิดพลาดเดียวกัน
pantonis

3

ในกรณีของฉันฉันแก้ไขสิ่งนี้โดยการลบไฟล์ทั้งหมดจาก wwwroot-Directory ใน VS. ยกเลิกการโหลดและโหลดโครงการใหม่ คัดลอกไฟล์ทั้งหมดกลับด้วย VS. เสร็จสิ้น


ไม่มีวิธีแก้ปัญหายอดนิยมสำหรับฉันฉันได้ทำสิ่งนี้ก่อนที่จะอ่านความคิดเห็นของคุณและมันใช้งานได้ไม่มีที่ติ !!! ฉันยกเว้น wwwroot, คอนโทรลเลอร์, มุมมองโฟลเดอร์และเพิ่มกลับเข้าไปและตอนนี้ทุกอย่างทำงานได้ดี!
revobtz

2

ที่จริง Asp.net หลักโดยอัตโนมัติรวมถึงเนื้อหาจากwwwroot\css\, wwwroot\js\และwwwroot\lib\สถานที่อื่น ๆ อย่างไรก็ตามเรื่องนี้ถ้าคุณcsprojไฟล์อย่างชัดเจนรวมถึงเนื้อหาจากไดเรกทอรีที่แล้วเนื้อหาเหล่านั้นจะถูกทำซ้ำเพื่อนำเนื้อหาจากคุณcsprojไฟล์เป็นวิธีที่ดีกว่าที่จะกำจัดข้อผิดพลาดนี้ ดังนั้นลบเนื้อหาด้านล่าง -

  <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>

1
สิ่งนี้เกิดขึ้นกับฉันเมื่ออัปเดต Visual Studio เป็น 15.3 เพื่อป้องกันไม่ให้เกิดการเปลี่ยนแปลงกับเพื่อนร่วมงานของฉันที่ยังไม่ได้อัปเดตฉันจึงต้องเพิ่ม<PropertyGroup> <EnableDefaultContentItems>false</EnableDefaultContentItems> </PropertyGroup>ไฟล์. csproj
saluce

@saluce ใช่คุณพูดถูกวิธีเดียวกับที่คุณสามารถใช้ในบริบทของคุณได้เช่นกัน ทางเลือกขึ้นอยู่กับผู้พัฒนาว่าต้องการเก็บไว้EnableDefaultContentItemsหรือไม่ เป็นสองแนวทางที่แตกต่างกัน
Mostafiz

ประเด็นของฉันคือการเปลี่ยนแปลงเพียงอย่างเดียวที่ฉันทำคือการอัปเกรด Visual Studio เป็น 15.3 ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ กับโปรเจ็กต์ของฉัน แต่ก่อนการอัปเกรดไม่จำเป็นต้องใช้การตั้งค่านี้
saluce

2

กรณีของฉันฉันปิดใช้งานทั้งสองรายการด้านล่างนี้

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

1

ไม่ใช่ว่าฉันเห็นในตัวอย่างของคุณด้านบนเพื่อช่วยผู้ค้นหา SO คนอื่น ๆ ..

นอกจากนี้คุณยังสามารถรับข้อผิดพลาดนี้ได้เมื่อคุณมีไฟล์เดียวกันอยู่ในรายการสองครั้งใน<Content Include="xxx" />องค์ประกอบในcsprojไฟล์ของคุณ

ลบรายการที่ซ้ำกันและสร้างใหม่


1

ภายใต้ Visual Studio 2017 15.3 กับ. NET Core 2.0, EnableDefaultCompileItems ไม่ทำงานสำหรับฉัน

ฉันต้องการเพิ่มสิ่งนี้ใน. csproj ของฉัน

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

สำหรับฉัน (visual studio 15.3.4 .NET framework 4.5.2) EnableDefaultContentItems ไม่ทำงานในขณะที่ EnableDefaultCompileItems ทำ
hlovdal

1

ฉันพบวิธีแก้ปัญหาอื่นที่เหมาะสม

  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" />
...

ด้วยวิธีนี้ฉันคิดว่าคุณกำลังเพิ่มไฟล์ทั้งหมดในโฟลเดอร์ธีม ดังนั้นอย่ารวมไว้ทีละรายการซึ่งอาจเกิดข้อผิดพลาดบางอย่าง


1

โครงการ. NET Core

หากคุณอยู่ในไลบรารีคลาสคุณอาจต้องลบองค์ประกอบคอมไพล์ / เนื้อหาทั้งหมดออกจาก 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>

0

การยกเว้นและการรวมกลับโฟลเดอร์ที่มีข้อผิดพลาดซ้ำได้ผลสำหรับฉัน! หวังว่านี่จะช่วยคนอื่นได้!


0

ฉันคิดว่าการปิด "EnableDefaultContentItems" ไม่ใช่ตัวเลือกที่ดีที่สุด การcs-Projแก้ไขไฟล์ด้วยตนเองก็ไม่ใช่ความคิดที่ดีเลย

ดังนั้นสำหรับการสร้างไปป์ไลน์เซิร์ฟเวอร์ของเราเราจึงเขียนเครื่องมือขนาดเล็กมากซึ่งจะลบรายการที่ซ้ำกันทั้งหมดโดยอัตโนมัติ: dotnet-csproj-cleaner

เราเรียกใช้ภายใต้ Docker เป็นขั้นตอนการสร้างขั้นแรกในไปป์ไลน์การผสานรวมอย่างต่อเนื่องของเรา


ดูเหมือนดี แต่เหตุใดจึง จำกัด เฉพาะโครงการที่มีเส้นทาง wwwroot
John Zabroski

เป็นตำแหน่งเนื้อหา VS มาตรฐานและรวมเส้นทางไว้โดยค่าเริ่มต้น หากคุณต้องการโซลูชันที่ซับซ้อนมากขึ้น - โปรดอย่าลังเลที่จะส่งคำขอดึง มันควรจะง่ายมากโดยการเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติม ขอบคุณ.
anakod

0

ฉันมีปัญหาเดียวกันกับไฟล์เท่านั้นและอื่น ๆ ทั้งหมดใช้งานได้ (เทมเพลตทั้งหมดของฉันถูกเก็บไว้ใน wwwroot / content โดยตรง) ฉันไม่ได้เป็นผู้สร้างโครงการดังนั้นฉันจึงไม่รู้รายละเอียดมากนัก

ปัญหาได้รับการแก้ไขโดยการเปลี่ยนชื่อไปมาไฟล์ที่มีปัญหา:

MyTemplate.html - เปลี่ยนชื่อ -> MyTemplate2.html - เปลี่ยนชื่อ -> MyTemplate.html

หมายเหตุ : ในการเปลี่ยนชื่อครั้งแรกฉันได้รับข้อผิดพลาดบางอย่างตามบรรทัด " ไม่พบการกำหนดค่าเนื้อหา " แต่การเปลี่ยนชื่อครั้งที่สองใช้งานได้โดยไม่มีปัญหา

หลังจากนี้ฉันสามารถรวบรวมโครงการได้สำเร็จ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.