如何解决“%1不是有效的Win32应用程序”?

时间:2008-10-08 21:44:56

标签: .net asp.net configuration 64-bit win64

环境:
Windows Server 2003 R2企业版64位,SP2 据推测安装了.NET框架(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";,我得到的错误是:< / p>

  

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

5 个答案:

答案 0 :(得分:9)

你试过跑步吗?

aspnet_regiis -i

从命令行?

答案 1 :(得分:5)

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

答案 2 :(得分:2)

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

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;

答案 3 :(得分:1)

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

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

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

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

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

答案 4 :(得分:1)

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