【发布时间】:2014-07-03 15:38:46
【问题描述】:
Visual Studio 的默认运行环境似乎是 32 位。我需要在 64 位模式下运行我的应用程序之一。我将“平台目标”等项目属性更改为 64 位。但现在无法运行我的应用程序。我收到类似“无法加载文件或程序集 'MyProject' 或其依赖项之一的错误。尝试加载格式不正确的程序。”
然后我尝试了一个新的空白 WebApplication。仍然在那里也显示相同的错误。我删除了所有参考 dll 文件并从此路径“C:\Windows\Microsoft.NET\Framework64”添加了依赖项。但不幸的是仍然遇到同样的错误。
我更改了 IIS 的应用程序池属性(启用 32 位应用程序 = True)。然后尝试在本地 IIS Web 服务器中运行,但也没有成功。
我使用的是 Windows 7、64 位操作系统和 Visual Studio 2010。当使用以下 c# 代码查找运行环境时
using (RegistryKey registryKey =
Registry.LocalMachine.OpenSubKey(@"SOFTWARE\R-core\R"))
{
var envPath = Environment.GetEnvironmentVariable("PATH");
string rBinPath = (string)registryKey.GetValue("InstallPath");
string rVersion = (string)registryKey.GetValue("Current Version");
rBinPath = System.Environment.Is64BitProcess
? rBinPath + "\\bin\\x64" :rBinPath + "\\bin\\i386";
Environment.SetEnvironmentVariable(
"PATH",
envPath + Path.PathSeparator + rBinPath);
}
System.Environment.Is64BitProcess 的值总是 false 我不想走 64 位路径,如果运行环境是 32 位。那么如何强制 VS 在 64 位模式下运行呢?
在这里我分享了我得到的错误响应页面。请帮我解决这个问题谢谢。
【问题讨论】:
-
如果您在构建期间以 64 位为目标,则启用 32 位应用程序必须设置为 false ?
-
我先尝试设置 Enable 32-Bit Application = False,但没有得到预期的结果。然后我尝试将该值也更改为 True。
-
尝试使用全新的空网络应用程序。目标 x64 位。设置启用 32 位应用程序 = 假。检查它是否适合您的应用程序。应该没问题的。
-
抱歉 NicoD,我已经尝试过了...正如我在问题中提到的,我创建了一个新的 Empty Web App,然后将 Platform Target 更改为 x64 而无需更改任何其他设置并尝试运行,但失败。然后我更改了依赖项并尝试仍然没有得到预期的结果。然后我更改了启用32位应用程序,同样我尝试通过更改所有设置来一一尝试..但没有成功
-
但是您发布了应用程序或修改了 Visual Studio 中的属性以从 IIS 启动应用程序?