17

我对 Blend 报告“Windows Presentation Foundation (WPF) 项目不支持窗口”感到沮丧。由于无法构建的配置,但无法完全弄清楚如何摆脱它。

我发现这可能是因为我试图使用 x86 和 x64 配置的单一解决方案。没有办法告诉 Blend 2 哪个是活动的解决方案配置和活动的解决方案平台

我认为这是配置系统的一个弱点,或者可能是我设置的方式,但我有 Debug64 和 Debug解决方案配置,每个配置都用于x86 和 x64平台。

我还认为这是一个简单的排序问题——x64 出现在 x86 之前,而 Debug 出现在 Debug64 之前,因此 Blend 最终得到了无法构建的 Debug with x64 配置。

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

该解决方案是一个中等复杂的解决方案 - 有一个纯 Win32 DLL、C++/CLI 模型项目和主要 WPF 项目使用的另外两个 WPF 程序集。

更新我已经从我的解决方案中删除了所有 x64 配置并重建了所有内容,但没有任何效果。

然后我卸载了 Blend 2 并安装了 Blend 3——它也不喜欢。

Visual Studio XAML 编辑器仍然非常高兴,程序的构建和运行也是如此。

(来自oz的沮丧尖叫的回声)

4

4 回答 4

18

Blend 要求解决方案在配置管理器中也有一个 AnyCPU 平台。
不会加载解决方案中的任何 C++(包括 C++/CLI)项目。

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

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

将 exe 设置为仅 x86 和 x64(无 AnyCPU) - 不会在混合中运行(无 AnyCPU),但仍会构建解决方案。

于 2010-03-23T22:23:49.537 回答
11

发生这种情况还有其他一些原因:

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

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

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

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

<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
于 2011-04-19T20:11:24.487 回答
3

我在 VS2010 和 Blend4 中遇到了这个问题。突然,我的项目无法在 Blend 中渲染。

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

于 2011-12-14T19:57:43.653 回答
1

在我这边,我以这种方式解决了这个问题:

  • AnyCPU 技巧(但还不够……)
  • 卸载项目,编辑项目文件,查看 4.0 框架参考并将它们更改为 4.5(目标和最低要求版本)。

重建解决方案,然后 WPF 4.5 的 Blend Preview 停止以显示错误消息(不支持窗口...)。

谢谢大家让我走上正轨!

于 2012-11-18T15:15:07.353 回答