配置WPF客户端以运行64位

时间:2012-02-20 09:07:50

标签: c# wpf visual-studio entity-framework-4

我们有一些针对DB2数据库使用Entity Framework的代码。

当我们尝试使用事务范围时,我们会收到一条消息“Under under provider失败了。”

  • 从WPF客户端运行时,我们只收到此错误。
  • 当我们从单元测试中运行时,我们不会收到此错误。
  • DB2提供程序是64位

我们能够找到的区别是单元测试配置为任何CPU,但WPF项目配置为x86。

问题是Visual Studion UI不允许我们为WPF项目选择x86以外的任何东西。

这是WPF项目的限制吗?如果不是,我们如何将WPF项目配置为任何CPU?

5 个答案:

答案 0 :(得分:8)

也许您将Visual Studio C#平台平台目标混淆了?

每个Visual Studio C#项目都可以构建到多个平台之一。这允许您使用相同的项目构建到多个硬件平台,如32和64位Intel / AMD CPU,甚至是像Itanium这样的不同CPU。

但是,当您创建一个新项目时,它默认只包含一个平台,在您的情况下,您还希望只构建一个平台,即x64。对于新项目,Visual Studio使用的平台是:

  • 库项目(包括测试项目)将具有 Any CPU 平台。
  • 可执行项目(包括WPF项目)将具有 x86 平台。

有些令人困惑的是,这些平台只是暗示实际构建的名称。您可以在项目设置的构建选项卡中控制编译器发出的内容。您可以在此处将平台目标设置为任意CPU x86 x64 等值。

您必须在WPF项目中将平台目标设置为 x64

Visual Studio C# project settings

要完全配置您的平台,您必须使用菜单构建 - >菜单上的配置管理器配置管理器

答案 1 :(得分:1)

没有这样的限制。您可以在项目属性的构建页面上的平台目标组合框中选择目标

答案 2 :(得分:1)

我唯一无法改变的x86是平台,说实话我不知道它是什么。但是你可以看到我可以选择x64作为平台目标,你确定你没有这样的选择吗?

enter image description here

答案 3 :(得分:1)

在项目属性的最新版本的Visual Studio(至少2019年)中,在生成设置中,平台目标提供了一个更喜欢32位的选项。

enter image description here

您可能要取消选中它,否则即使在x64计算机上,您的应用程序也将以x32运行。

答案 4 :(得分:0)

这个问题的解决方案非常简单。 我们已将复制的64位控制台PowerShell.exe复制到当前VisualStudio项目的调试文件夹中,并提供了相同的路径(。\ debug RR。\ debug)来触发powershell脚本,并且工作正常。