Visual studio 2008 混合;窗口在WPF项目中不受支持; 我有一个令人沮丧的时间,在CONTRORY报告中,“Windows演示文稿基金会(WPF)项目中不支持窗口。”由于不可配置的配置,但不能很好地解决如何摆脱它的问题。

Visual studio 2008 混合;窗口在WPF项目中不受支持; 我有一个令人沮丧的时间,在CONTRORY报告中,“Windows演示文稿基金会(WPF)项目中不支持窗口。”由于不可配置的配置,但不能很好地解决如何摆脱它的问题。,visual-studio-2008,xaml,expression-blend,64-bit,32bit-64bit,Visual Studio 2008,Xaml,Expression Blend,64 Bit,32bit 64bit,我发现这可能是因为我尝试使用x86和x64配置的单一解决方案。无法确定Blend 2是活动解决方案配置还是活动解决方案平台 我认为这是配置系统中的一个弱点,或者可能是我的设置方式,但我有Debug64和Debug解决方案配置,其中一个配置用于x86和x64平台 我还认为这是一个简单的排序问题——x64在x86之前,Debug在Debug64之前,所以Blend最终会使用x64生成一个无法构建的Debug配置 当我在VS中选择Debug和x64的组合时,它的XAML编辑器也无法加载 该解决方案是一

我发现这可能是因为我尝试使用x86和x64配置的单一解决方案。无法确定Blend 2是活动解决方案配置还是活动解决方案平台

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

我还认为这是一个简单的排序问题——x64在x86之前,Debug在Debug64之前,所以Blend最终会使用x64生成一个无法构建的Debug配置

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

该解决方案是一个中等复杂的解决方案—主WPF项目使用了一个纯Win32 DLL、C++/CLI模型项目和两个其他WPF程序集

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

然后我卸载了Blend 2并安装了Blend 3-它也不喜欢这样的东西

visualstudioxaml编辑器对于程序的构建和运行仍然非常满意


(oz发出的令人窒息的沮丧尖叫声的回声)

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

将窗口/控件放在任意CPU C#DLL中,以便可以在blend中编辑它们。
(不要从中引用x86/x64项目。)

将exe设置为仅x86和x64(无任何CPU)-不会在混合模式下运行(无任何CPU),
但解决方案仍将建立。

这还有一些其他原因:

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

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

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

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

AnyCPU

我在VS2010和Blend4中遇到了这个问题。突然之间,我的项目无法融合


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

在我这方面,我通过以下方式解决了问题:

  • AnyCPU技巧(但还不够…)
  • 卸载项目,编辑项目文件,查看4.0框架引用,并将其更改为4.5(目标和最小所需版本)
重建解决方案,然后停止WPF 4.5的混合预览,以显示错误消息(不支持窗口…)


谢谢大家让我走上正轨

太好了,修好了!我添加了一个AnyCPU配置和平台,并为此构建了所有C#,它引用了Win32 C++/CLI项目,现在可以在Blend中编辑。感谢您的回答,无法“接受它”,因为缺少accept tick大纲,假设这是因为赏金,我第一次在一个问题上提出悬赏。试着问meta如何使用悬赏系统。(我自己从来没用过)。我在meta上问过,但似乎我看到你的答案太晚了,而且没有两张赞成票,它不会自动被接受。我不确定最后一天的通知和时区是否有问题。哇,Stack Overflow infrastructure一定发生了什么事情,因为我突然为这个问题赢得了一个“推广人”徽章,并且能够接受它-也许第三次投票是关键。Matt,你知道你的更改的后果吗?如果您链接了任何x86 DLL,则您的应用程序将不再在x64计算机上运行。这正是此操作失败的原因。方便的是,我可以在任何CPU中构建所有依赖项。有关如何在x86和x64上成功工作,请参阅下面的答案:不需要平台交换机。谢谢你的技巧!在4.5中更改版本成功了!:-)
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>