配置WPF客户端以运行64位

Shi*_*iji 5 c# wpf visual-studio entity-framework-4

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

当我们尝试使用事务范围时,我们会收到一条消息"Under the lying provider on Open".

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

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

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

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

Mar*_*age 9

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

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

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

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

令人困惑的是,这些平台只是暗示实际构建的名称.您可以在项目设置的" 生成"选项卡中控制编译器发出的内容.在这里,您可以将Platform目标设置为Any CPU,x86x64等值.

您必须在WPF项目中将Platform目标设置为x64.

Visual Studio C#项目设置

完全配置的平台,你将不得不使用配置管理器是菜单上的构建 - > 配置管理器.