代码之家  ›  专栏  ›  技术社区  ›  Andy Dent

Blend“WPF项目中不支持窗口”

  •  15
  • Andy Dent  · 技术社区  · 15 年前

    我有一个令人沮丧的时间与混合报告“窗口不支持在Windows演示基金会(WPF)项目。”由于不可配置的配置,但不能完全解决如何摆脱我的出路。

    我已经计算出这可能是因为我试图用x86和x64配置获得一个单一的解决方案。无法告诉Blend 2哪个是活动的 解决方案配置 积极的 解决方案平台 .

    我认为这是配置系统中的一个弱点,或者可能是我设置的方式,但是我已经调试了64和调试 解决方案配置 其中一个用于 平台 x86和x64。

    我还认为这是一个简单的排序问题-x64在x86之前出现,调试在debug64之前出现,所以混合最终得到一个不可构建的debug与x64配置。

    当我在vs中选择debug和x64的组合时,它的xaml编辑器也无法加载。

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

    更新 我已经将所有的x64配置从我的解决方案中剥离出来,重新构建了所有内容,但没有任何效果。

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

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

    (奥兹沮丧的窒息尖叫的回声)

    4 回复  |  直到 12 年前
        1
  •  18
  •   Danny Varod    15 年前

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

    我的解决方案中有anycpu+x86+x64平台,anycpu不构建非c项目。

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

    仅将exe设置为x86和x64(无anycpu)-将不在Blend(无anycpu)中运行, 但解决方案仍将建立。

        2
  •  10
  •   MattS423    14 年前

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

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

    它还可能在错误的平台上查找.dlls。我刚刚通过以下更改解决了我的问题:

    在相关的.csproj文件中,更改此行

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

    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    
        3
  •  3
  •   PaulC    13 年前

    我在VS2010和Blend4中遇到了这个问题。突然间,我的项目就不能融合在一起了。

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

        4
  •  0
  •   Olivier    12 年前

    在我这方面,我用这种方式解决了这个问题:

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

    重新生成解决方案,然后停止WPF 4.5的混合预览以显示错误消息(不支持窗口…)。

    感谢大家把我带上赛道!

    推荐文章