ไม่สามารถใช้คุณสมบัติการเผยแพร่สำหรับรายการ X


91

เมื่อใดก็ตามที่เราทำการสร้างในโซลูชันหลักของเราเราจะได้รับคำเตือนดังต่อไปนี้:

ไม่สามารถใช้คุณสมบัติการเผยแพร่สำหรับรายการ "microsoft.visualstudio.qualitytools.unittestframework"

มีใครเห็นอะไรแบบนี้มาก่อนบ้าง? มีแนวคิดในการแก้ไขปัญหานี้อย่างไร มันเกิดขึ้นบนเครื่องสำหรับนักพัฒนาทั้งหมดของเราและบนเซิร์ฟเวอร์สร้าง TFS ของเราด้วยเช่นกัน อย่างไรก็ตามจะปรากฏในโหมดแก้ไขข้อบกพร่องเท่านั้น

คำตอบ:


168

ดูเหมือนว่าปัญหาจะเกี่ยวข้องกับ ClickOnce ไปที่โครงการคลิกขวาที่โครงการแล้วคลิกคุณสมบัติ ไปที่แท็บเผยแพร่และคลิกที่ไฟล์แอปพลิเคชัน เลือกช่องทำเครื่องหมาย "แสดงไฟล์ทั้งหมด" และเลื่อนดูรายการไฟล์ ในที่สุดคุณจะเจอไฟล์ที่มีเครื่องหมายอัศเจรีย์สีเหลืองอยู่ ไฟล์นี้เป็นไฟล์ที่ไม่มีเจ้าของและจำเป็นต้องลบออก คลิกขวาที่ไฟล์และควรมีตัวเลือกลบ

ตอนนี้สร้างโซลูชันและคำเตือนควรจะหายไป


14
นั่นเป็นสองครั้งที่ฉัน googled ปัญหานั้นและพบคำตอบนี้ ในที่สุดฉันจะได้เรียนรู้ : p
Nick Spreitzer

4
Show all filesเป็นกุญแจสำคัญที่นี่
MEMark

5
@NickSpreitzer ครั้งที่สามสำหรับฉัน ครั้งนี้ฉันรู้สึกประหลาดใจกับความคิดเห็นของตัวเอง
MEMark

นอกจากนี้คุณยังสามารถอัปเดตไฟล์ csproj ของคุณโดยดูแลส่วน "PublishFile" แน่นอนว่าต้องทำอย่างระมัดระวัง
เจอโรม

3

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

คำเตือนเกิดจากองค์ประกอบเช่นนี้:

<PublishFile Include="THIS IS USUALLY SOME IMAGINARY DLL">
  <Visible>False</Visible>
  <Group>
  </Group>
  <TargetPath>
  </TargetPath>
  <PublishState>Exclude</PublishState>
  <IncludeHash>True</IncludeHash>
  <FileType>Assembly</FileType>
</PublishFile>

... ในไฟล์โปรเจ็กต์ (.csproj) ส่งเสียงเตือน สังเกต "ไม่รวม" PublishState; องค์ประกอบนี้ระบุว่า "โปรดอย่าเผยแพร่ DLL ในจินตนาการ"; เห็นได้ชัดว่านี่เป็นคำสั่งที่ไม่จำเป็นหากไม่มี DLL ดังกล่าวอยู่ที่ใดก็ได้ในเวลาเผยแพร่ แต่ก็ทำให้เกิดคำเตือนเช่นกันเนื่องจากกระบวนการเผยแพร่ไม่สามารถประเมินข้อมูลประจำตัวของไฟล์ได้

คุณสามารถลบPublishFileองค์ประกอบทั้งหมดสำหรับรายการการปรับใช้แต่ละรายการที่กล่าวถึงในคำเตือนได้ตราบเท่าที่มี PublishState "Exclude" อย่าลบทุกองค์ประกอบโดยอัตโนมัติด้วยการ "ยกเว้น" ใน PublishState เพราะหากไม่มีคำเตือนเกี่ยวกับเรื่องนี้ไฟล์อาจพร้อมใช้งานในเวลาที่เผยแพร่และอาจสิ้นสุดการเผยแพร่ซึ่งจะเป็นการเปลี่ยนแปลงผลิตภัณฑ์ที่ไม่ต้องการตราบเท่าที่คุณต้องการเท่านั้น กำจัดคำเตือน

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