我有我的主要应用程序,它使用另一个项目与MarkupExtension
。我添加了引用,在XAML文件中也添加了它,但是当我尝试使用它时,我得到了错误:
error MC3048: '{loc:Translate View3dDialog}' value is not a valid MarkupExtension expression.
Cannot resolve 'Translate' in namespace 'clr-namespace:TranslationByMarkupExtension'.
'Translate' must be a subclass of MarkupExtension. Line 7 Position 9.
我有TranslationExtension
,是,是MarkupExtension的一个子类(当然,它是公开的)。
我重建了整个解决方案--没有改变。
发布于 2014-11-17 02:59:12
我猜你有一个xmlns:loc
指向clr-namespace:TranslationByMarkupExtension
?名称空间在同一个程序集中吗?如果是这样的话,那么VS (不能)读取更新的程序集可能会有问题,因为程序集还没有生成。您可以尝试提取另一个程序集的扩展,该程序集将与使用XAML的程序集分别编译/构建。
(可能的情况: XAML编译器需要读取扩展,因为它们来自当前程序集,因此存在问题,因为当前程序集还没有构建,因为XAML没有编译=关闭周期;不试图强行修复这个问题。这是可能的,编译器可以被愚弄到阅读“旧/先前”版本的程序集,但这将导致哦,许多其他邪恶和难以跟踪的问题。
如果您已经在其他程序集中拥有它,请确保xmlns:loc
指向clr-namespace:TranslationByMarkupExtension;assembly=MyAssemblyWithTheExtension
,可能只是忘记了assembly
部件。
https://stackoverflow.com/questions/26970994
复制相似问题