我们有一些针对DB2数据库使用Entity Framework的代码。
当我们尝试使用事务范围时,我们会收到一条消息“Under under provider失败了。”
我们能够找到的区别是单元测试配置为任何CPU,但WPF项目配置为x86。
问题是Visual Studion UI不允许我们为WPF项目选择x86以外的任何东西。
这是WPF项目的限制吗?如果不是,我们如何将WPF项目配置为任何CPU?
答案 0 :(得分:8)
也许您将Visual Studio C#平台与平台目标混淆了?
每个Visual Studio C#项目都可以构建到多个平台之一。这允许您使用相同的项目构建到多个硬件平台,如32和64位Intel / AMD CPU,甚至是像Itanium这样的不同CPU。
但是,当您创建一个新项目时,它默认只包含一个平台,在您的情况下,您还希望只构建一个平台,即x64。对于新项目,Visual Studio使用的平台是:
有些令人困惑的是,这些平台只是暗示实际构建的名称。您可以在项目设置的构建选项卡中控制编译器发出的内容。您可以在此处将平台目标设置为任意CPU , x86 或 x64 等值。
您必须在WPF项目中将平台目标设置为 x64 。
要完全配置您的平台,您必须使用菜单构建 - >菜单上的配置管理器。 配置管理器。
答案 1 :(得分:1)
没有这样的限制。您可以在项目属性的构建页面上的平台目标组合框中选择目标
答案 2 :(得分:1)
我唯一无法改变的x86是平台,说实话我不知道它是什么。但是你可以看到我可以选择x64作为平台目标,你确定你没有这样的选择吗?
答案 3 :(得分:1)
在项目属性的最新版本的Visual Studio(至少2019年)中,在生成设置中,平台目标提供了一个更喜欢32位的选项。
您可能要取消选中它,否则即使在x64计算机上,您的应用程序也将以x32运行。
答案 4 :(得分:0)
这个问题的解决方案非常简单。 我们已将复制的64位控制台PowerShell.exe复制到当前VisualStudio项目的调试文件夹中,并提供了相同的路径(。\ debug RR。\ debug)来触发powershell脚本,并且工作正常。