【问题标题】:64 bit configured project does not seem to generate 64 bit exe in bin file64位配置项目似乎没有在bin文件中生成64位exe
【发布时间】:2016-06-16 08:50:51
【问题描述】:

我在 Visual Studio 2013 中创建了一个应用程序,我想将其构建为 64 位应用程序。我按照here 的步骤将我的项目配置为 64 位应用程序。现在的问题:

如果我从 VS 运行应用程序,它可以正常工作(作为 64 位应用程序)。

如果我运行在 bin 中生成的可执行文件,它就像 32 位应用程序一样工作。

重要提示:

应用程序必须获取所有正在运行的进程并将它们显示在带有进程名称和文件名(可执行文件的路径)的网格中。

这是我从 VS 运行时网格的样子

这就是我从 bin 运行 .exe 时网格的样子

我知道该应用程序像 32 位应用程序一样工作,因为我尝试访问 .MainModule.FileName 以查找 exe 的路径,而 32 位进程在尝试访问时会抛出 Win32 异常64位进程。我处理了那个异常,但我找不到路径,我需要它。

我需要一种将 bin 中的 .exe 生成为 64 位应用程序的方法,或者至少了解如果配置为 64 位应用程序,它为什么不能像 64 位应用程序一样工作。

【问题讨论】:

    标签: c# visual-studio process 64-bit


    【解决方案1】:

    不同的项目配置有不同的输出文件夹。您的 x86 配置仍使用您正在查看的原始 bin 文件夹,但新的 x64 配置会将其输出转储到不同的文件夹中。

    Visual Studio 跟踪当前配置的输出文件夹,因此它正在启动正确的 EXE。但是当您自己启动它时,您会在错误的文件夹中查找。您正在运行 32 位 EXE,它从未改变过。

    要查看输出路径的位置,请转到项目的属性(在解决方案管理器中),然后单击“构建”选项卡。您应该会在标有“输出路径”的文本框中看到它在底部附近列出。

    默认情况下,x86 使用 bin\Debug\,而 x64 使用 bin\x64\Debug\。 (这些是相对路径,相对于您的解决方案目录。)

    【讨论】:

    • 我从一开始就从 bin/x64/Release 目录启动了 exe,并密切关注“修改日期”列,以查看在构建解决方案时是否生成了 exe。那个 exe 没有按我的预期工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2023-03-19
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2016-01-29
    • 2022-01-13
    相关资源
    最近更新 更多