2013-01-15 32 views
5

Trong mã App.xaml tôi có đoạn mã sau:Cách khắc phục: Cấu trúc ngôn ngữ XAML2009 không được phép ở đây?

<Application x:Class="PcgTools.App" 
    ... 
    <Application.Resources> 
     <ResourceDictionary> 
      ... 
      <res:Strings x:FactoryMethod="res:StringResourceHelper.GetStringResources" 
      x:Key="LocStrings"/> 
     </ResourceDictionary> 
    </Application.Resources> 
</Application> 

tôi nhận được từ các trình biên dịch VS2012 lỗi trước khi sử dụng FactoryMethod hoặc thuộc tính xây dựng. Nhưng bây giờ tôi nhận được lỗi: Xaml2009 ngôn ngữ xây dựng không được phép ở đây.

Cách sửa lỗi này?

Trả lời

7

XAML 2009 không được phép trong XAML được biên dịch (ít nhất không phải trong WPF 4.0), hãy thử di chuyển nội dung của bạn sử dụng cấu trúc năm 2009 sang tệp từ điển tài nguyên riêng biệt.

10

XAML 2009 không may là vô ích do thiếu sự hỗ trợ trình biên dịch (mặc dù VS nhận ra nó vì một số lý do ngu ngốc).

Xem: MSDN doc on XAML 2009

Về cơ bản không có trình biên dịch hiện tại (WPF, SL, WinRT) thực sự hỗ trợ nó. Theo như tôi biết, điều duy nhất hỗ trợ XAML 2009 là "loose xaml", trong đó bạn có một tệp xaml độc lập được mở trực tiếp bởi trình duyệt (về cơ bản là vô dụng).

Tôi không biết bất kỳ lời giải thích nào từ Microsoft nêu ra lý do tại sao nó không được hỗ trợ. :-(

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