2012-08-30 43 views
17

Vì vậy, tôi đang làm việc trong VS12 trên Windows 8 và hack mã ContosoCookbook để tạo một ứng dụng khác. Tôi đang cố gắng để thiết lập một trang "MainMenu.xaml" và trong tôi có:Tên XXX không tồn tại trong không gian tên YYY (XAML VS12 Windows 8)

 <CollectionViewSource 
     x:Name="groupedItemsViewSource" 
     Source="{Binding Groups}" 
     IsSourceGrouped="true" 
     ItemsPath="TopItems" 
     d:Source="{Binding AllGroups, Source={d:DesignInstance Type=data:FlashCardDataSource, IsDesignTimeCreatable=True}}"/> 

Các lỗi tôi nhận được là: Cái tên "FlashCardDataSource" không tồn tại trong không gian tên "sử dụng: FlashCards.Data ".

... nhưng tôi không hiểu nó không như thế nào. Tôi bắt đầu tìm kiếm ở đâu? Tôi mới ở XAML.

-Ken

+0

'xmlns' bạn có trong 'Trang' của ứng dụng là gì? Nó trông giống như một vấn đề không gian tên đơn giản xung quanh các nguồn dữ liệu mẫu đi kèm với các mẫu VS2012. – Mark

+0

bạn đã tìm thấy giải pháp chưa? – durilka

+0

Không, xin lỗi, chưa. Tôi đã đặt ứng dụng này lên kệ ngay bây giờ, nhưng khi tôi quay lại nó trong vài tuần tới và tôi có câu trả lời, tôi sẽ đăng nó lên. –

Trả lời

18

Nếu không có gì khác có thể, hãy nhận xét các dòng sử dụng không gian tên, xây dựng lại và sau đó tạo lại toàn bộ dự án.

Tôi cũng đã thử xây dựng lại dự án, mở lại Visual Studio. Không có gì giúp được. Cuối cùng tôi đã nhận xét xaml, xây dựng lại dự án, không bị chú ý xaml và cuối cùng nó đã hoạt động! Vấn đề lạ.

+0

Chà, điều đó đã xảy ra. Trong trường hợp của tôi nó không thể tìm thấy các loại được định nghĩa trong cùng một dự án ... Cảm ơn rất nhiều cho các tip! Bài học: sử dụng VS sau SP thứ 5 của nó. – AlexeiOst

+0

Trong trường hợp của tôi, đó là dòng chữ "xmlns: local =" clr-namespace: Foo.Bar "' mà tôi đã nhận xét/bỏ ghi chú để chụp VS ra khỏi func của nó; * không * dòng tham chiếu đến không gian tên 'cục bộ' và nơi lỗi (không chính xác) thực sự bị gắn cờ. – dlf

2

Bạn đã cố gắng xây dựng lại dự án của mình chưa? Có thể làm sạch dự án và xây dựng lại.

+0

Tôi đã thử điều đó. Gỡ cài đặt ứng dụng, làm sạch giải pháp và/hoặc dự án. Tôi có FlashCardDataSource là lớp công khai và có cùng một phương thức. Tôi không biết nếu tôi đang thiếu một tham chiếu hoặc những gì tôi đang làm sai. –

+2

Đã có cùng một vấn đề và sau rất nhiều khó khăn tôi không chắc chắn nếu nó đã được khởi động lại VS11, làm sạch các dự án hoặc tạm thời loại bỏ mc: Ignorable = "d" từ trang mà làm cho VS11 nhận ra nó thực sự tồn tại. –

+0

Tôi gặp sự cố này; cố gắng làm sạch, vv Nhưng khởi động lại VS cố định nó cho tôi –

5

Nói chung lỗi này là do một trong các cách sau:.

  1. Bạn chưa tham chiếu assembly mà lớp là trong
  2. Bạn chưa cập nhật các tài liệu tham khảo để lắp ráp sau khi thêm lớp cho nó.
  3. Bạn đang tham khảo phiên bản sai của hội đồng.
  4. Bạn đang tham chiếu tệp .DLL thay vì dự án (trong trường hợp dự án là một phần của giải pháp của bạn)
  5. Có lỗi cú pháp trong lớp bạn đang tham chiếu.
12

Nếu việc dọn dẹp và xây dựng lại không hiệu quả, hãy thử khởi động lại Visual Studio. Đã làm cho tôi.

+0

Điều này cố định nó cho tôi, cảm ơn. – Kirschi

+1

+1. Vấn đề tương tự vẫn còn trong bản cập nhật VS20133. Khởi động lại studio trực quan là cách duy nhất để giải quyết vấn đề này mọi lúc. –

3

Kiểm tra mọi lớp và tệp xaml cho các không gian tên (ngay cả trong App.xamlMainWindow.xaml). Đảm bảo bạn không nhầm lẫn x:Class trong phần tử trên cùng của tệp có vùng tên. Đôi khi nó thực sự trông giống như một lỗi, nhưng nó chỉ là một không gian tên một nơi nào đó độc lập với mọi thứ khác mà trộn lẫn lên tất cả mọi thứ.

0

Trong trường hợp của tôi, Tôi làm sạch tất cả giá trị thuộc tính liên quan đến ràng buộc mà tôi gán theo mã trong tất cả các lớp, thì tất cả trở nên bình thường.

Tôi nghĩ rằng nếu đưa ra giá trị cho thuộc tính sử dụng trong các liên kết tại cùng một thời điểm ở một vị trí sai trong lớp sẽ gây ra sự cố, vì vậy hãy xóa tất cả mã chuyển nhượng liên quan đến thuộc tính.

0

Không có điều nào ở trên có hiệu quả đối với tôi, nhưng chỉ cần thêm một lớp giả khác vào thư mục chứa lớp mà nó đã xác nhận là không tồn tại. Có lẽ nó làm cho VS có một cái nhìn khác.

Các vấn đề liên quan