C# 将WPF客户端配置为运行64位
我们有一些针对DB2数据库使用实体框架的代码 当我们尝试使用事务作用域时,我们会收到一条消息“隐藏的提供程序在打开时失败”C# 将WPF客户端配置为运行64位,c#,wpf,visual-studio,entity-framework-4,C#,Wpf,Visual Studio,Entity Framework 4,我们有一些针对DB2数据库使用实体框架的代码 当我们尝试使用事务作用域时,我们会收到一条消息“隐藏的提供程序在打开时失败” 我们只有在从WPF客户端运行时才会出现此错误 当我们从单元测试运行时,不会出现此错误 DB2提供程序是64位的 我们能够发现的区别是,单元测试配置为任何CPU,而WPF项目配置为x86 问题是可视化研究UI不允许我们为WPF项目选择除x86之外的任何内容 这是WPF项目的限制吗?如果不是,我们如何将WPF项目配置为任何CPU?没有此类限制。您可以在项目属性的构建页面上的
- 我们只有在从WPF客户端运行时才会出现此错误李>
- 当我们从单元测试运行时,不会出现此错误
- DB2提供程序是64位的
这是WPF项目的限制吗?如果不是,我们如何将WPF项目配置为任何CPU?没有此类限制。您可以在项目属性的构建页面上的平台目标组合框中选择目标也许您将Visual Studio C#平台与平台目标混淆了吧 每个VisualStudioC#项目都可以构建到多个平台中的一个。这使您可以使用同一个项目构建多个硬件平台,如32位和64位Intel/AMD CPU,甚至是不同的CPU,如安腾 但是,当您创建一个新项目时,默认情况下它将只包含一个平台,在您的情况下,您还希望只构建一个平台,即x64。对于新项目,Visual Studio使用的平台包括:
- 库项目(包括测试项目)将具有任何CPU平台
- 可执行项目(包括WPF项目)将具有x86平台
要完全配置您的平台,您必须使用菜单Build->Configuration Manager上的Configuration Manager我唯一无法更改的x86是平台,老实说,我不知道它是什么。但是正如您所看到的,我可以选择x64作为平台目标,您确定没有这样的选项吗
这个问题的解决办法很简单。
我们已将64位console PowerShell.exe复制到当前VisualStudio项目的调试文件夹中,并提供了相同的路径(.\debug RR.\debug)来触发PowerShell脚本,它工作正常 在项目属性的最新版本Visual Studio(至少2019年)中,在构建设置中,平台目标有一个选择,首选32位 您可能希望取消选中它,否则您的应用程序将作为x32运行,即使在x64机器上也是如此