环境:
Windows Server 2003 R2 企业版 64 位,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 应用程序。

有帮助吗?

解决方案

你试过跑步吗?

aspnet_regiis -i

从命令行?

其他提示

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

我有“%1不是有效的Win32应用程序。”错误消息,因为我的PATH环境变量也搞砸了。它包含来自python安装的垃圾:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;

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

融合日志在这里没有任何帮助,事实证明,在我的例子中,有一个第三方程序集引用了仅 32 位的程序集或本机 dll。(更准确地说)

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

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

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

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

我有这个问题。我将.EXE部署到不支持.NET 4.5的Windows 2003。我使用.NET 4重建了程序并且它运行良好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top