2010-02-01 172 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停止顯示錯誤消息(窗口不支持...)。

非常感謝您讓我走上正軌!

相關問題