【问题标题】:Error: The name XXX does not exist in the namespace 'clr-namespace:YYY'错误:名称空间 'clr-namespace:YYY' 中不存在名称 XXX
【发布时间】:2011-10-22 11:42:58
【问题描述】:

我刚刚安装了 Blend 4,并试图将它与一个相当大的 VS2010 项目一起使用,该项目包括几个 C++/CLI 程序集和一些本机代码。对于很多控件,我在尝试打开设计视图时收到一个混合错误,例如“名称 XXX 不存在于命名空间 'clr-namespace:YYY'”。

我在网上(包括这个论坛)搜索了类似的错误,并确保我遵循了所有可用的建议,例如确保我有一个不使用的 AnyCPU 配置,例如'x64\Debug' 作为输出文件夹,并且我的 XAML 中有正确的命名空间声明(在我的 clr-命名空间声明中使用“程序集”)。

我还创建了一个简单的新项目,它只访问有问题的程序集之一,但我仍然收到错误。

在我看来,该问题与引用任何包含一些非托管代码的 C++/CLI 程序集的程序集有关。对于引用仅托管代码程序集的程序集,我似乎没有收到错误消息。

什么可能导致错误?

问候,

雷夫


这里很少回应,所以也许我应该重写一下我的问题:

有没有人成功地将 Expression Blend 用于使用非托管代码的程序集的项目?

问候, 雷夫

【问题讨论】:

    标签: xaml expression-blend blend expression-blend-4


    【解决方案1】:

    有一个类似的问题:项目在 VB 2010 中正确编译,没有错误,但在 Expression Blend 4 中打开时出错(顺便说一句,这是一个美丽的工具):

    名称空间“clr-namespace:YYY”中不存在名称 XXX。

    在线:

    <CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY}, CreateList=True}" />
    

    在我的例子中,它是我的 edmx 中的一个实体,一个名为“YYY”的 FunctionImport,其 ComplexType 为“YYY_Result”,而我在 CollectionViewSource 中的 XAML 代码引用了该实体“YYY”。

    此 XAML 代码在 VB 2010 中生成没有错误,编译和运行都非常好(在 Blend 中也正确编译),但是在 Blend 中没有设计视图。

    解决方案:我在 CollectionViewSource 中的 x:Type 处意识到我的错误,并将名称从“YYY”更正为“YYY_Result”并且它起作用了:

    <CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY_Result}, CreateList=True}" />
    

    结论: 也许这个答案与您关于带有一些非托管本机代码的 C++/CLI 程序集的问题并不完全相关,也许是的。

    这个案例只是在 VB 2010 中正确编译项目的一个很好的例子,但是在 Blend 4 创建设计视图时,同样的 XAML 生成了上述错误消息(许多用户在这个论坛上报告了类似的问题)。

    【讨论】:

      猜你喜欢
      • 2012-12-06
      • 2016-11-29
      • 2020-03-16
      • 1970-01-01
      • 2013-04-19
      • 2014-01-16
      • 1970-01-01
      • 2023-03-07
      • 2015-11-30
      相关资源
      最近更新 更多