ไม่ว่าฉันจะใช้การกำหนดค่าใด ฉันจะเห็นทั้งสองไฟล์ภายในโปรเจ็กต์เสมอ
1.ดังที่เราทราบ UI ใน Solution Explorer สอดคล้องกับเนื้อหาในไฟล์ .xxproj ดังนั้นเมื่อฉันเขียนเนื้อหาดังนี้:
<ItemGroup>
<Content Include="TextFile1.txt" />
</ItemGroup>
VS จะแสดง TextFile1.txt
ใน Solution Explorer แม้ว่าไฟล์นั้นจะไม่มีอยู่จริงก็ตาม
![ป้อนคำอธิบายรูปภาพที่นี่](https://i.stack.imgur.com/91ypA.png)
ดังนั้นเมื่อคุณใช้สคริปต์ด้านบน มันจะแสดงทั้งสองไฟล์
2.และฉันคิดว่าสิ่งที่คุณสับสนมากคือเหตุใด UI จึงไม่รวมไฟล์ไว้ ขึ้นอยู่กับการกำหนดค่า โปรดดูปัญหาที่คล้ายกัน ฉันเห็นด้วยกับ Andrey ว่า ItemGroup
ก็ได้รับผลกระทบเช่นกัน แต่พฤติกรรมนี้ (เงื่อนไขจะไม่ทำงานเมื่อโหลดโปรเจ็กต์)
3.และในความคิดของฉัน ดูเหมือนว่าเมื่อ VS โหลดไฟล์โครงการและแสดง UI ใน Solution Explorer จะไม่สามารถเข้าถึงค่าการกำหนดค่าจากกล่องสวิตช์ได้ กล่องสวิตช์ถูกปิดใช้งานและเป็นสีเทาเมื่อโปรเจ็กต์ของฉันถูกยกเลิกการโหลด และหากฉันคลิกขวาที่โปรเจ็กต์เพื่อโหลดซ้ำ เนื่องจากตอนนี้กล่องสวิตช์ถูก disbaled เงื่อนไขเกี่ยวกับการกำหนดค่าจึงทำงานได้ไม่ดีในเวลาโหลด
![ป้อนคำอธิบายรูปภาพที่นี่](https://i.stack.imgur.com/B1iXa.png)
นอกจากนี้ ฉันทดสอบสคริปต์นี้ด้วย ตอนนี้ทั้งสามไฟล์แสดงใน Solution Explorer:
<ItemGroup>
<Content Include="TextFile1.txt" Condition="$(RootNamespace)=='App'"/>
<Content Include="TextFile2.txt" Condition="$(RootNamespace)=='AppApp'"/>
<Content Include="TextFile3.txt" Condition="$(RootNamespace)=='AppAppApp'"/>
</ItemGroup>
เห็นได้ชัดว่าเงื่อนไขต่างๆ จะถูกละเว้นระหว่างการโหลด และตาม หมายเหตุใน หมายเหตุ นี่เป็นเพราะการออกแบบ
และเนื่องจากเงื่อนไขใช้ไม่ได้ในสถานการณ์นี้ คุณอาจต้องตั้งค่าคุณสมบัติด้วยตนเองในหน้าต่างคุณสมบัติ เช่น: ตั้งค่าการดำเนินการบิลด์ของ Package.release.appxmanifest
เป็น AppxManifest
ในขณะที่การดำเนินการบิลด์ของ Package.debug.appxmanifest
None
ระหว่างการกำหนดค่า Release
หวังว่ามันจะช่วยได้ และหากฉันเข้าใจอะไรผิด โปรดแก้ไขให้ฉันด้วย :)
อัปเดต1:
ค้นหาการสนทนาใน GitHub และรับคำแนะนำดีๆ จาก ดาวเคียน
ขณะนี้ระบบโครงการใหม่ขับเคลื่อนแผนผังโซลูชันออกจากการกำหนดค่า "ที่ใช้งานอยู่" ระบบโครงการเก่าขับเคลื่อนแผนผังโซลูชันโดยไม่สนใจเงื่อนไข ทั้งสองมีข้อดี/ข้อเสีย
person
LoLance
schedule
26.08.2019