2010-02-01 48 views
13

我在Blend报告中遇到了令人沮丧的时间“Windows Presentation Foundation(WPF)项目中不支持窗口”。由于不可配置的配置,但不能完全解决如何摆脱它的方式。Blend“窗口在WPF项目中不受支持”

我已经计算出这可能是由于我试图使用x86和x64配置的单个解决方案。没有办法告诉Blend 2是有效的解决方案配置和有效的解决方案平台

我认为这是一个位在配置系统中的弱点,也许我已经设置好了的样子,但我有Debug64和调试解决方案配置每一个用来与平台 x86和64。

我也认为这是一个简单的排序问题 - x64出现在x86之前,而Debug出现在Debug64之前,因此Blend最终会以x64的Debug的不可配置配置结束。

当我在VS中选择Debug和x64的组合时,它的XAML编辑器也无法加载。

该解决方案是一个中等复杂的解决方案 - 有一个纯Win32 DLL,C++/CLI Model项目以及主WPF项目使用的其他WPF程序集。

UPDATE 我已将所有x64配置从我的解决方案中解脱出来,并重建了所有没有任何效果的东西。

然后我卸载Blend 2并安装了Blend 3 - 它不喜欢任何东西。

Visual Studio XAML编辑器仍然非常高兴,因为程序的构建和运行。

(从盎司挫折扼杀尖叫的回波)

回答

17

混合需要溶液也有在配置管理器中的AnyCPU平台。
解决方案中的任何C++(包括C++/CLI)项目都不会被加载。

我在我的解决方案中有AnyCPU + x86 + x64平台,AnyCPU不构建非C#项目。

将窗口/控件放入AnyCPU C#dlls中,以便它们可以在混合中编辑。
(不要从他们引用的x86/x64的项目。)

设置EXE为x86和x64(不使用AnyCPU) - 不会在混合运行(不AnyCPU), 但解决方案仍建立。

+0

太好了,修好了!我添加了一个AnyCPU配置和平台,并为此构建了所有的C#,并引用了Win32 C++/CLI项目,现在可以在Blend中进行编辑。 – 2010-03-24 07:48:40

+0

谢谢你的回答,不能“接受它”,因为接受勾号大纲不见了,假设那是因为恩惠,我第一次对问题进行了奖励。 – 2010-03-24 07:56:34

+0

尝试询问元如何使用赏金系统。 (从来没有使用它自己)。 – 2010-03-24 23:57:26

10

还有一些其他原因可能发生:

1)缺少参考文献。添加对PresentationCore,PresentationFramework和WindowsBase的引用

它也可能从错误的平台上查找.dll。我刚刚通过进行以下更改来解决我的问题:

在。有问题的csproj文件,更改此行

<Platform Condition=" '$(Platform)' == '' ">x86</Platform> 

<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
+2

马特,你知道你的变化的后果吗?如果您有任何x86 DLL链接,您的应用程序将不再运行在x64机器上。 – 2011-04-20 04:32:44

+0

这就是为什么这是失败。 方便的是,我可以在AnyCPU中建立所有的依赖关系。 – MattS423 2011-04-20 17:12:12

+0

请参阅我的以下答案,了解如何在x86和x64上成功工作:http://stackoverflow.com/a/6446638/38368 – 2012-08-08 10:44:18

3

我碰到这个问题与VS2010和Blend4。突然间我的项目不会在Blend中渲染。

问题是我们团队的开发人员设置了自定义生成配置。当他这样做时,他删除了Debug。一旦我添加调试回到构建配置Blend很高兴再次。

0

在我的身边,我解决了这个问题是这样的:

  • 的AnyCPU伎俩(但还不够...)
  • 卸载项目,编辑项目文件,看4.0框架的引用并改变它们到4.5(目标和minial所需版本)。

重建解决方案,然后混合预览WPF 4.5停止显示错误消息(窗口不支持...)。

非常感谢您让我走上正轨!

相关问题