问题标签 [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.
x86 - 从命令行使用 devenv.exe 并指定平台
我正在尝试使用命令行中的 devenv.exe 编译 Visual Studio 解决方案。我可以让它工作,但解决方案中的所有项目都是为 AnyCPU 编译的,我希望它们为 x86 编译。所有项目的调试和发布配置都设置为 x86。
当我从 IDE 中编译时,它工作正常。但是当我尝试从命令行构建解决方案时,它总是为 AnyCPU 构建所有项目。有没有办法让 devenv.exe 只在 x86 中构建?
我们正在使用 Visual Studio 2012
c# - 强制使用 AnyCPU 构建的 C# WinForms 应用程序作为 32 位进程进行调试
我有一个使用 AnyCPU 构建的 C# 项目。我们还动态加载当前依赖于 32 位原生 DLL 的功能。关闭此功能后,应用程序作为 64 位应用程序运行得非常愉快。因此,Visual Studio 确定应用程序将在 64 位进程中运行。为了强制应用程序作为 32 位进程运行,我们在主项目上设置了 Post Build 步骤,该步骤使用 CorFlags 将其设置为 32 位。在 Visual Studio 之外运行应用程序时,这可以正常工作。但是,如果我使用 F5 调试应用程序,我会收到一个错误,表明我有 32/64 位不匹配。似乎 Visual Studio 已确定应用程序可以作为 64 位进程运行并相应地设置调试器,但我不知道我已运行 CorFlags 将其强制为 32 位。
有什么方法可以强制 Visual Studio 将应用程序作为 32 位进程进行调试?我想将平台目标保留为 AnyCPU,因为第三方组件最终将升级到 64 位。
c# - 为什么 Process.Start from my app 会导致 Outlook 崩溃?
我有一个应用程序,它位于系统托盘中并监视某些事件。在发生特定事件时,它会触发带有“mailto”链接的 Process.Start。发生这种情况时,Outlook 新邮件窗口会短暂出现,然后崩溃。
我在 64 位 Windows 7 机器上,应用程序编译为 Any CPU。我将其更改为编译为 x86,Outlook 不再崩溃。
如果 Outlook 从 32 位和 64 位进程启动,有人可以提供有关为什么 Outlook 会崩溃的见解吗?好像应该没关系。
dll - 为任何 CPU 更改为 x86 发布构建 Windows Phone 8 库
奇怪的配置,我似乎无法理解。
我有一个我想为任何 CPU 构建的 Windows Phone 8 库,当我选择调试时它工作正常,但是一旦我选择发布配置,平台就会更改为 x86。我可以将其更改为任何 CPU、保存和退出选项,但如果再次打开它,它会切换回 Active (x86)。
我想念什么?分发 Windows Phone 库的正确方法?
问候。
c# - VS2012 如何将 C# 的 AnyCPU 配置的输出目录设置为相应解决方案配置的 x86 和 x64 文件夹?
我有一个包含两个 C++ 和两个 C# 项目的解决方案。对于解决方案,我有一个 Win32 配置,其中有两个 C++ 文件Win32
和两个 C# 文件作为AnyCPU
. x64 解决方案具有 C++ asx64
和 C# as AnyCPU
.
对于 Win32 解决方案,C++ 文件构建在/x86/Release/
文件夹中,我已将 C# 文件设置为输出到同一文件夹。但是,由于它设置为AnyCPU
,x64 解决方案还具有 C# 输出到/x84/Release/
文件夹。
我希望 VS2012 中会有某种宏允许我选择解决方案的配置,以便我可以将输出设置为$(SolnConfig)/Release
,但似乎没有任何类似的东西。
有什么方法可以(相对)直接将输出设置AnyCPU
为相应解决方案的 x86 和 x64 目录?
wpf - MS Access 2013:试图读取或写入受保护的内存。这通常表明其他内存已损坏
我们在虚拟机上运行 Windows 8 64 位和 MS Office 2013 64 位。当我尝试使用查询字符串中的参数查询访问数据库时出现此错误。堆栈跟踪是:
我有以下代码:
异常发生在这一行: using (OleDbDataReader reader = _command.ExecuteReader()
我们正在使用 Visual Studio 2012 运行 .NET 4,这是一个 WPF 应用程序。
有线的事情是,如果我不将参数传递给 sql 查询,它工作正常。一旦查询有一些参数,就会发生错误。
在 Visual Studio 中,平台设置为我们想要的 AnyCPU。我们不想将其更改为 x86。
谢谢您的帮助。
vb.net - 在 64 位系统上以 32 位模式运行 ANYCPU Exe
在 64 位操作系统上运行一个 EXE 女巫是否可以编译为 ANYCPU,但在 32 位模式下?
有没有办法配置启动模式?
谢谢你的任何建议
.net - .NET 应用程序加载混合 dll,使用任何 CPU
我是创建 .NET 应用程序的新手,尤其是混合应用程序。
最近,我在(非托管)C++(在 MS Visual Studio 2010 下)为客户端创建了一组(静态)库,支持 32 位和 64 位编译,它们由某些应用程序加载,通常很好. (在内部,此功能使用各种其他第三方库,如 OpenGL、boost、glm 等)
现在,他还希望能够在他的 C# 应用程序中使用我作为自定义控件提供的一些功能。
所以我创建了一个支持 CLR 的 dll,使用 C++/CLI 为我的功能创建包装类,然后创建一个自定义的 WPF 控件,该控件是公共的(因此可以从外部访问),同样可以很好地构建两者32 位和 64 位。
然后为了测试,我创建了一个简单的 C# 应用程序(它真的很简单,因为我是 C# 新手,我的背景是 C/C++),它可以构建在 32 位或 64 位,并且可以成功地从我的 DLL 加载控件并做它应该做的事情。
我现在遇到的问题是,他说他希望能够仅将单个可执行文件分发为“任何 CPU”,然后根据其启动位置加载适当的代码(即 32 位或 64 位)。
所以我所做的就是在 C# 测试项目中添加一个“Any CPU”配置,并将“build”选项卡下的“platform target”设置为“Any CPU”。但现在我不确定在配置管理器下为其他项目设置什么平台(即 C++ 静态库,由 C++/CLI 混合模式 dll 使用)。因此,为了进行测试,我将其保留在 x64,但是当我构建它时,我收到了警告:
然而,它运行良好,即使它给了我这个警告。当我将其他项目设置为“Win32”时,我得到了同样的警告,只是提到了“x86”,但在这种情况下,它会在启动时抛出一个异常,说“PresentationCore.dll 中发生‘System.BadImageFormatException’类型的未处理异常"
那么我需要将其更改为什么?如何让它加载可执行文件,然后决定加载哪个 dll?我真的不确定如何继续并让它按照我要求的方式工作。
c# - x86 / anycpu - 铸造的区别?
我的代码:
当我使用 x86 编译时-> a 和 b 都 = 2
当我使用 anycpu -> a = 2 和 b = 0编译时
谁能解释为什么?!
编辑:我在 Windows 7 x64 上使用 VS2010、.NET 4.0
c# - 编译器警告处理器架构不匹配,而 corflags 则声称并非如此
编译器给出以下警告:
警告 MSB3270:正在构建的项目“MSIL”的处理器架构与参考“NationalInstruments.DAQmx”、“x86”的处理器架构不匹配。
当我从国家仪器检查我使用的 DLL 时,我发现它们中的每一个都是针对任何 cpu 架构构建的。
corflags NationalInstruments.DAQmx.dll
Microsoft (R) .NET Framework CorFlags 转换工具。版本 4.0.30319.1 版权所有 (c) Microsoft Corporation。版权所有。
版本:v4.0.30319 CLR 标头:2.5 ** PE:PE32 ** CorFlags:24 ILONLY:0 ** 32BIT:0 ** 签名:1
据我了解,PE32 + 32BIT 0 == 任何 Cpu。
关于如何解决这个问题的任何建议都会很棒