2011-10-22 101 views
2

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

我搜索了网页(包括此论坛)的类似错误,并确保我已经遵循了所有可用的建议,例如,确保我有一个AnyCPU配置,我不使用例如'x64 \ Debug'作为输出文件夹,并且在我的XAML中使用了适当的命名空间声明(在我的clr命名空间声明中使用'assembly')。

我也做了一个简单的新项目,只访问与问题的程序集之一,但我仍然得到错误。

在我看来,这个问题与引用任何包含一些非托管代码的C++/CLI程序集的程序集有关。我似乎没有得到引用仅管理代码程序集的程序集的错误。

什么可能导致错误?

问候,

雷夫


这里

小反应,所以也许我应该重写我的问题有点:

先后为使用组件与非托管项目没有人成功地使用Expression Blend中代码?

问候, 雷夫

回答

1

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

The name XXX does not exist in the namespace "clr-namespace:YYY".

在行:

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

对我来说,这是一个实体在我的EDMX,一个名为“YYY”用的ComplexType“YYY_Result” FunctionImport,和我在CollectionViewSource引用实体“YYY”的XAML代码。

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

解决方案:我意识到我在X犯的错误:CollectionViewSource类型,并从“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。

相关问题