12

环境:
Windows Server 2003 R2 Enterprise 64bit, SP2
.NET framework 应该安装(2.0 SP2, 3.0 SP2, 3.5 SP1)

我说“应该”是因为它们被列为已安装在添加/删除程序下。我不确定它是否正确安装,因为“ASP.NET”选项卡没有添加到 IIS 中的任何站点。

在 IIS Web 服务扩展部分,我同时拥有“ASP.NET v2.0.50727”(允许)和“ASP.NET v2.0.50727(32 位)”(禁止)。

有问题的站点启用了脚本执行。

问题:

我创建了一个超级简单的 ASP.NET/C# 网站:Default.aspx,标签为 id="Label1",代码隐藏为:Label1.text = "Hello World";,我得到的错误是:

%1 不是有效的 Win32 应用程序。

4

6 回答 6

10

您是否尝试过运行:

aspnet_regiis -i

从命令行?

于 2008-10-08T21:48:50.883 回答
6

还要检查您的应用程序池。在 64 位环境下,您可能需要在高级设置中设置“启用 32 位应用程序”。

于 2011-09-20T01:28:36.027 回答
3

I had "%1 is not a valid Win32 application." error message because my PATH environment variable was messed up as well. It included this garbage from a python install:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;
于 2013-02-20T23:34:59.250 回答
2

我有“%1 不是有效的 Win32 应用程序。” 错误消息,因为我的 PATH 环境变量搞砸了。好吧,更具体地说,PATH 本身没有任何问题。相反,我不小心创建了一个名为“C:\Program”的文件,而不是“C:\Program Files\”用于路径查找。意外创建“C:\Program”是在命令行上为 C:\Program Files\test.txt(不带引号)调用 Notepad++ 的结果,所以 Notepad++ 认为我正在尝试编辑一个名为“C: \Program" 并为我创建了文件。

于 2009-10-06T09:27:38.713 回答
1

我在 Windows Server 2008 64 位上使用 IIS7 时遇到了类似的错误。

融合日志在这里没有任何帮助,事实证明,在我的情况下,有一个第三方程序集引用了一个仅 32 位的程序集或本机 dll。(非常精确)

要查找 64 位运行时正在加载哪个程序集:

  • 在与您的应用程序池匹配的w3wp.exe进程上附加 VS2008 调试器
  • 拦截所有异常(菜单调试/异常/检查所有“公共语言运行时异常”)。
  • 确保您的应用程序已完全重新加载(例如,通过修改 web.config)。
  • 引发System.BadImageFormatException异常时,请在堆栈跟踪查看器窗口中查找程序集名称。

请记住,放置在 bin 目录中的所有程序集都会被加载,无论它们在应用程序中的实际含义如何。

于 2008-10-09T03:30:22.020 回答
1

I had this problem. I deployed an .EXE to a Windows 2003 that doesn't support .NET 4.5. I rebuilt the program with .NET 4 and it worked.

于 2013-04-09T19:51:40.687 回答