สิ่งนี้ไม่เกี่ยวข้องกับประเภทนิรนามที่มีคุณสมบัติภายใน
เป็นไปได้อย่างสมบูรณ์แบบที่จะส่งผ่านประเภทที่ไม่ระบุตัวตนจากมุมมองไปยังมุมมองบางส่วน
ฉันพบปัญหาเดียวกันในวันนี้และไม่มีอะไรเกี่ยวข้องกับปัญหาในการส่งประเภทที่ไม่ระบุตัวตนและinternal
คุณสมบัติโดยธรรมชาติ
ด้วยเหตุนี้ในส่วนที่เกี่ยวข้องกับคำถาม OP คำตอบของ @Lucas จึงไม่เกี่ยวข้อง - แม้ว่าวิธีแก้ปัญหาจะใช้ได้ผลก็ตาม
ในคำถาม OPs ประเภทที่ไม่ระบุตัวตนกำลังถูกส่งจากมุมมองในแอสเซมบลี X ไปยังบางส่วนในแอสเซมบลี Xดังนั้นปัญหาที่ David Ebbo ระบุถึงคุณสมบัติที่อยู่ภายในสำหรับประเภทที่ไม่ระบุตัวตนจึงไม่เป็นผล ประเภทเรียบเรียงสำหรับมุมมองที่บางส่วนและชนิดที่ไม่ระบุชื่อที่มีอยู่ทั้งหมดในการชุมนุมเดียวกัน
แล้วอะไรเป็นสาเหตุของความล้มเหลวอย่างกะทันหันในการส่งผ่านประเภทนิรนามจากมุมมองไปยังบางส่วน?
อย่างน้อยก็ในของฉันสถานการณ์ผมค้นพบว่ามันเป็นเพราะมีอีกมุมมองหนึ่งในโฟลเดอร์เดียวกันที่ระบุชนิดของรูปแบบที่ไม่สามารถแก้ไขได้ มุมมองจะถูกคอมไพล์ที่รันไทม์ดังนั้นมันจึงสมเหตุสมผลที่ความล้มเหลวในรันไทม์ในการคอมไพล์วิวก็หมายถึงความล้มเหลวในการคอมไพล์ประเภทไดนามิกและบางส่วนก็จะได้รับobject
ไฟล์. ยังไม่ชัดเจนในทันทีว่าเกิดอะไรขึ้น แต่ในตัวอย่างเฉพาะของ OPs (และของฉัน) นี่เป็นสาเหตุของปัญหามากกว่า
เป็นที่น่าสนใจที่จะทราบว่าหากประเภทโมเดลถูกต้อง แต่ส่วนอื่นของมุมมองไม่คอมไพล์ประเภทที่ไม่ระบุตัวตนจะไม่ได้รับผลกระทบในลักษณะเดียวกัน สิ่งนี้ต้องลงไปถึงวิธีที่ Razor แบ่งการคอมไพล์แบบไดนามิกของส่วนคอมโพเนนต์ของมุมมอง
เมื่อคุณแก้ไขมุมมองที่ไม่เหมาะสมแล้วให้สร้างโซลูชันใหม่ทั้งหมดหรือทำความสะอาดและสร้างโครงการใหม่ก่อนที่จะตรวจสอบว่าได้รับการแก้ไขหรือไม่
เพื่อให้แน่ใจว่าคุณจะไม่ถูกจับโดยสิ่งนี้อีกคุณสามารถเปิดใช้งานการรวบรวมเวลาคอมไพล์ของมุมมอง Razor ของคุณโดยเพิ่มสิ่งนี้ลงในcsproj
ไฟล์ของคุณ:
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>