问题标签 [anycpu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-7-x64 - 使用anycpu构建时,它有stackoverflow异常
我在托管代码中有一个项目(C# winform 程序)。当我在 vs2010 中构建时(尝试使用 .net 2.0 和 .net 4.03),如果目标是 x64 或 x84,它们都在 win 7 环境中运行得更好。但是当使用anycpu构建时,它在win 7中有stackoverflow异常。它在逻辑中使用了一个大堆栈。我尝试了以下方法:1)创建新线程,将大小设置为 400000,2)构建后运行 corflags xxx.exe /32BIT- 3)运行 editbin xxx.exe /STACK:400000。
问题仍然存在。请帮忙。
提前致谢。
xaml - 更改目标 CPU 后 Windows 商店应用程序编译错误
我想在我的 Windows 商店应用程序中添加 Bing 地图功能,该应用程序已经完美运行。问题是,要添加 Bing 地图,我必须将正在运行的项目配置从“任何 CPU”更改为 ARM、x86 或 x64。
一旦我这样做了,所有的地狱都松了,我得到错误,表明我在我的 XAML 中使用的未找到的不同资源。我按照这篇文章 http://www.codeproject.com/Articles/408457/Using-Bing-Maps-For-Windows-8-Metro-Apps-Csharp-Ja
我正在尝试将平台更改为“x64”。有任何想法吗?
.net - 在 64 位计算机上定位“AnyCPU”时出现 BadImageFormatException
当我将源代码转移到Win7 64-bit
机器上BadImageFormatException
时,我会在尝试编译和运行解决方案时得到一个 target AnyCPU
。
这不会发生在XP 32-bit
.
问题是什么?
asp.net - 将构建/调试配置设置为在“任何 CPU”上运行而不是仅在 x86 上运行是个好主意吗?
包含我的 MVC 应用程序的解决方案有近 20 个不同的项目(其中一个是 MVC,少数是 WCF 服务应用程序,其余的是类库。
它们都可以工作,并且构建良好..但问题是他们在构建时会发出与平台相关的警告。我在配置管理器中检查了其中一些设置为“x86”平台,其中一些设置为“任何 CPU”,我觉得因此收到了警告。
作为开发人员,为了支持跨平台,我想我需要将这个解决方案下的所有项目都设置为以“AnyCPU”为目标。
我想知道这是否是更安全的方法?或者在部署过程中是否涉及任何风险?
对此的任何输入,非常感谢。
vb.net - x86 程序想要访问 AnyCpu 而不是 x86
我对 AnyCPU vs x86 编译器设置有一些问题,但如果我理解正确,我的问题似乎与通常情况相反。
目前,一切都驻留在装有 Visual Studio 2010 的 Win 7 64 位机器上。有问题的应用程序是 Dot.NET 3.5。Visual Studio 是英文的,但部分错误是德文,这是操作系统的语言。
项目 E:主要项目/解决方案,包括 3 个子项目,2 个作为 DLL,1 个作为 exe。VB.net 3.5,编译为 x86,因为它需要 OleDB 才能访问。最初是在 WinXP 的 32 位机器上的 VS 2008 甚至 VS 2005 上开始的。
项目 ADB:vb.net exe,需要可以独立启动,我需要能够从项目 E 访问表单。这是作为一个单独的项目开始的,我在 VS 2010 中是 Dot.Net 4.0,但是如果相关的话,我认为它仍然在 32 位机器/WinXP 上。
需要 OledDB 到 MS Access,所以独立的 exe 需要是 x86。
但是,如果我将其编译为 x86(项目属性 > 编译 > 高级编译选项)作为解决方案的一部分,则会出现构建错误(见下文)。如果我更改为 AnyCPU,它可以作为解决方案的一部分,包括访问 OleDB(这应该意味着它是 x86,对吗?),但是独立的不能再使用 OleDB(这意味着它不是 x86,对吗?) .
Project Au:vb.net DLL,包含在E的引用中,不需要OleDB。如果编译为 x86,我会得到与项目 ADB 相同的错误。如果编译为 AnyCPU,则可以工作。在 32 位机器上被添加到 VS 2008 中。
项目 S:C# DLL,不需要 OleDB。编译为 x86 并包含在 E 的参考资料中,这是可行的。是从网上下载的,在32位机器上添加到VS 2008中。
构建错误如下:
Die Datei oder Assembly "file:///X:/Entw/E/VB.net/ADB/bin/Debug/ADB.exe" oder eine Abhängigkeit davon wurde nicht gefunden。Es wurde versucht, eine Datei mit einem falschen Format zu laden。
已翻译:
无法加载文件或程序集“XYZ”或其依赖项之一。试图加载格式不正确的程序。
我在将 ADB 作为 AnyCPU 独立启动时遇到的 OleDb 错误如下:
Der 'Microsoft.Jet.OLEDB.4.0'-Provider ist nicht auf dem lokalen Computer registriert。
这是通常的非 64 位 JET 错误警告:
“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。
现在,据我了解,通常如果主项目是 AnyCPU 而子项目是特定的,我会收到构建错误,因为它会尝试从 AnyCPU 访问 x86,在这种情况下是 x64。但是在这里我尝试从 x86 访问 x86 不起作用,但是从 x86 访问 AnyCpu(应该是 x64)有效吗?
如有必要,我可以提供更多信息和所有配置文件等。
如果我写得混乱,我很抱歉,但我对这个问题非常困惑。
.net - 如何制作适用于双平台(32/64 位)的 vb.net 应用程序
我可以创建一个可以同时在两个 Windows 平台(32 / 64 位)上运行的应用程序吗?如果没有,我如何创建 64 位版本和 32 位版本?
odp.net - ODP.NET x64 ANYCPU 和首选 32 位设置
我的机器安装了最新的 Oracle ODP.NET x64(xCopy 版本)。我的机器是x64。我不知道目标机器是 x86 还是 x64,所以我在 VS 2012 中将构建属性设置为 AnyCPU。有一个默认复选框处于活动状态“首选 32 位”
编译没问题,但是当我运行代码时它说找不到程序集。取消选中“首选 32 位”可以解决此问题。
但这是什么原因造成的?我认为首选 32 位是可以的,但如果这是唯一的选择,它将使用 x64。
有任何想法吗?
visual-studio-2010 - 如何更改 Visual Studio 项目中的 Build.Platform 属性?
一个非常大的解决方案中的许多项目之一不知何故设置为 Build Platform == Active (x86)。我希望它匹配所有其他项目(“任何 CPU”)。
我成功地将平台目标下拉列表从“Active (x86)”更改为“Any CPU”,但平台下拉列表将“Active (x86)”作为唯一选项:
我不知道这个项目是如何与其他项目开始“不同步”的,更重要的是如何让它与其他项目保持一致......
更新
我认为问题可能是我的 VS 安装设置为 VB 而不是 C#(它是由 IT 完成的,这里的大多数猫都是 VB 开发人员)。
这: http: //go4answers.webhost4life.com/Example/buildsolution-configuration-dropdown-188435.aspx提到工具 | 设置,但我没有这样的菜单项。
我确实选择了将设置重置为原始设置的选项,并且“设置重置正在进行”对话框现在已经搅拌了近半个小时,VS“(无响应”)
更新 2
现在我在 Windows CE 项目中遇到了相反的问题——我需要它是“x86”,它拒绝从“任何 CPU”更改为。
我想要更改此设置的原因是因为尝试在手持设备上运行此应用程序时,我收到“找不到 P/Invoke DLL sqlcemeNN.dll”错误消息。
据此:“如果您的机器是 64 位机器,您可能已陷入默认目标平台 'Any CPU' 陷阱,请将目标平台设置为 'x86'。需要更多详细信息,请访问 ErikEJ 的博客文章。 ”
我的机器是64 位的,我确实阅读了参考的博客文章
...但我的配置管理器的“活动解决方案平台”下拉菜单中没有“x86”选项。“任何 CPU”是它给我的唯一选择......
在输入之后,我能够以某种方式强制“活动解决方案平台”下拉菜单显示“x86”,但我认为它并没有真正改变任何东西。在网格中,唯一的选项是“任何 CPU”。从“Project”列中选择“Edit...”(没有“New...”)只会在列表中显示“Any CPU”、一个灰色的“Remove”按钮和一个 Close 按钮(“greyedoutprojectplatforms .png")
所以我尝试的是我将项目的 .csproj 文件中“任何 CPU”的每个实例都更改为“x86”,但在项目 > 属性 > 构建 > 平台目标中仍然显示“任何 CPU”!
visual-studio-2012 - VS2012 在 x86、x64、AnyCPU、AnyCPU32bitpreferred 和引用 3rd 方 DLL 之间进行选择
我正在寻找建立新 VS2012 C# 项目的最佳方法的建议。我想同时针对 x86 和 x64 架构。但是,我有必须引用的第 3 方 DLL。提供了同一个 DLL 的两个版本;一个为 x86 和 x64 编译。话虽如此,我是否需要专门针对 x86 和 x64?我认为 AnyCPU 或新的 AnyCPU32bitpreferred 不适合我的情况。此外,在同一个项目中引用 DLL 的正确方法是什么(它们具有相同的名称,但一个是 32 位,另一个是 64 位)。谢谢你。
c# - 当在 Mono 中编译为 AnyCPU 时,在 Windows 7 中以 64 位模式运行 .Net 4 控制台应用程序
我已经制作了一个控制台应用程序,C#
使用MonoDevelop
编译并在我的系统中Mono 3.2.1
配置。AnyCPU
Ubuntu
当我将此应用程序放入某个Windows 7 64bit
系统并运行它时,在任务管理器列表中它会*32
按进程名称显示一个后缀。这是否意味着它作为 32 位程序运行?我应该怎么做才能运行这个应用程序64bit
?
[更新]
作为评论中的一点,让我澄清一下,在Windows 7
机器上我使用的是微软的 .Net 库而不是 Mono 的。
[更新]
我在互联网上搜索了一下,发现了以下命令,它输出了有关 Linux 中可执行文件的内容:
因此,我在使用and.exe
编译的文件上对其进行了测试:AnyCPU
Mono
MonoDevelop
阅读维基百科页面PE 代表 32 位程序,而 PE+ 代表 64 位程序。
进一步进行测试,我使用 MS Visual Studio 以三种模式( 和 )编译了一个简单的AnyCPU
控制台x86
程序x64
。编译完成后,我将它们三个都放入了我的 Ubuntu 机器并file
在它们上尝试了命令。结果如下:
如您所见,只有x64
一个标记为PE+
!然后我尝试在 Ubuntu 和 Windows 中运行它们。
在 Ubuntu 中,它们三个都运行!但不幸的是,我无法说它们是在 32 位模式还是 64 位模式下运行!
在 Windows 中,虽然它们三个都运行(当然它们运行),但讨厌的*32
后缀仅在x86
编译模式下显示在进程名称中。缺少*32
表示 和 的其他两种模式AnyCPU
是x64
在 64 位运行的。
所以我的问题仍然存在:作为 Windows 中的 64 位进程,我应该怎么做才能在 Ubuntu中运行已AnyCPU
编译的程序?Mono
MonoDevelop