2012-02-20 160 views
3

我們有一些代碼使用實體框架對DB2數據庫。配置WPF客戶端運行64位

當我們嘗試使用事務處理範圍時,我們收到一條消息「處於打開狀態的Underneath提供程序失敗」。

  • 我們只在從WPF客戶端運行時纔會出現此錯誤。
  • 當我們從單元測試運行時,我們不會收到這個錯誤。
  • 的DB2提供者是64位

,我們已經能夠發現的是,單元測試配置爲任何CPU的差別,但WPF項目配置爲86。

問題是,Visual Studion用戶界面不允許我們爲WPF項目選擇除x86以外的任何內容。

這是WPF項目的限制嗎?如果不是,我們如何將WPF項目配置爲任何CPU?

回答

7

也許你與目標平臺混淆了Visual Studio的C#平臺的構建選擇頁面上的目標是什麼?

每個Visual Studio C#項目都可以構建到多個平臺之一。這使您可以使用相同的項目構建多個硬件平臺,如32位和64位Intel/AMD CPU,甚至可以使用不同的CPU,如Itanium。

但是,當您創建一個新項目時,它將默認只包含一個平臺,在您的情況下,您還希望只生成一個平臺,即x64。對於新的項目由Visual Studio所使用的平臺是這些:

  • 庫項目(包括一個測試項目)將有任何CPU平臺。
  • 可執行項目(包括WPF項目)將具有x86平臺。

有點混淆的是,這些平臺只是暗示實際構建的名稱。您可以控制項目設置的Build選項卡中編譯器發出的內容。在這裏,您可以將平臺目標設置爲值,如任何CPU,x86x64

您必須在您的WPF項目中設置平臺目標x64

Visual Studio C# project settings

完全配置的平臺,你將不得不使用配置管理器這是對菜單構建 - >配置管理器

1

沒有這樣的限制。您可以在目標平臺組合框項目屬性

1

我唯一無法改變的x86是平臺,說實話我不知道它是什麼。但正如你所看到的,我可以選擇x64作爲平臺目標,你確定你沒有這樣的選擇嗎?

enter image description here

0

,要解決這個問題很簡單。 我們已將複製的64位控制檯PowerShell.exe複製到當前VisualStudio項目的調試文件夾中,並提供了相同的路徑(。\ debug RR。\ debug)來觸發powershell腳本,並且它工作正常。