Điều này không liên quan gì đến các loại ẩn danh có thuộc tính nội bộ
Đó là hoàn toàn có thể vượt qua các kiểu nặc danh từ một cái nhìn đến một cái nhìn cục bộ
Tôi đã gặp phải vấn đề tương tự ngày hôm nay và không có gì (trực tiếp) liên quan đến vấn đề chuyển các kiểu ẩn danh và các internal
thuộc tính vốn có của chúng .
Do đó, liên quan đến câu hỏi OP, câu trả lời của @Lucas là không liên quan - mặc dù giải pháp thay thế sẽ hoạt động .
Trong câu hỏi OPs, một kiểu ẩn danh đang được chuyển từ một khung nhìn trong hợp ngữ X sang một phần trong hợp ngữ X , do đó, vấn đề mà David Ebbo đã nêu ra về các thuộc tính nội bộ cho các kiểu ẩn danh không có hậu quả; các kiểu được biên dịch cho dạng xem, kiểu từng phần và kiểu ẩn danh đều được chứa trong cùng một assembly .
Vậy điều gì đang gây ra lỗi đột ngột không thể chuyển một loại ẩn danh từ một chế độ xem sang một phần?
Ít nhất là trong tình huống của tôi , tôi phát hiện ra rằng đó là do có một chế độ xem khác trong THƯ MỤC CÙNG chỉ định một loại mô hình không thể giải quyết được . Các khung nhìn được biên dịch trong thời gian chạy, và do đó, việc biên dịch các khung nhìn không thành công trong thời gian chạy cũng có nghĩa là không biên dịch được các kiểu động và một phần sẽ chỉ nhận được một object
. Không rõ ràng ngay lập tức điều gì đang xảy ra, nhưng trong ví dụ cụ thể của OPs (và của tôi), đây nhiều khả năng là nguyên nhân của vấn đề.
Điều thú vị là nếu kiểu mô hình là đúng nhưng một phần khác của khung nhìn không biên dịch thì các kiểu ẩn danh không bị ảnh hưởng theo cách tương tự. Đây phải là cách Razor phá vỡ quá trình biên dịch động của các phần thành phần của khung nhìn.
Sau khi bạn sửa chế độ xem vi phạm, hãy xây dựng lại toàn bộ giải pháp hoặc dọn dẹp và xây dựng lại dự án trước khi kiểm tra xem nó đã được sửa chưa.
Để đảm bảo bạn không bị phát hiện bởi điều này một lần nữa, bạn có thể cho phép biên dịch thời gian biên dịch các chế độ xem Razor của bạn bằng cách thêm nó vào csproj
tệp của bạn :
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>