如何修复:这里不允许使用XAML2009语言构造?

Mic*_*ers 7 wpf xaml visual-studio-2012

在我的App.xaml代码中,我有以下代码:

<Application x:Class="PcgTools.App"
    ...
    <Application.Resources>
        <ResourceDictionary>
             ...
            <res:Strings x:FactoryMethod="res:StringResourceHelper.GetStringResources" 
             x:Key="LocStrings"/>
        </ResourceDictionary> 
    </Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)

在使用FactoryMethod或Attribute构造之前,我从VS2012编译器获得了一个错误.但现在我得到错误:这里不允许使用Xaml2009语言构造.

如何解决这个问题?

Dun*_*son 15

不幸的是,XAML 2009由于缺乏编译器支持而无用(尽管VS出于某种愚蠢的原因认可它).

请参阅: XAML 2009上的MSDN doc

基本上没有当前的编译器(WPF,SL,WinRT)实际上支持它.据我所知,唯一支持XAML 2009的是"松散的xaml",你有一个独立的xaml文件,由浏览器直接打开(基本上没用).

我不知道微软的任何解释,概述了为什么它不受支持.:-(


Fed*_*gui 9

在编译的XAML中不允许使用XAML 2009(至少不在WPF 4.0中),尝试将使用2009构造的东西移动到单独的Resource Dictionary文件中.