【问题标题】:open WCF svc file error in IIS在 IIS 中打开 WCF svc 文件错误
【发布时间】:2010-09-26 09:31:10
【问题描述】:

我正在使用 VS2010 + C# + .Net 4.0 + IIS 7.5 + Windows 7。当我在 IIS 7.0 中打开 WCF svc 文件时,出现这样的错误,有什么问题吗?

System.BadImageFormatException:无法加载文件或程序集“foo.test”或其依赖项之一。

【问题讨论】:

  • 如果这是 64 位操作系统,您的程序集可能编译为目标 x86 而不是 Any CPU,并且 IIS 未授权运行 32 位代码。
  • 我为anycpu构建,机器是64位的。哪里不对了? :-)

标签: c# .net wcf visual-studio-2010 iis


【解决方案1】:

应用程序池可能配置为面向 CLR 2.0。您需要将其更改为面向 .NET 4.0:

还要确保通过运行注册 .NET 4.0:

%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

【讨论】:

  • 异常中提到的这个foo.test 程序集是否还有其他依赖关系?它是否运行非托管代码?
  • 不,它会将 .NET 4.0 注册到 IIS,因为您是从 v4.0.30319 文件夹运行它。
  • 我也是这么想的。有同样的问题。即使我之前在列表中看到 .NET 4.0,在我运行此命令之前,我还是收到了 404 错误而不是 BadImageFormatException
  • 是的,请尝试运行该命令。你不需要卸载任何东西。请注意,运行命令之前,我还从下拉列表中看到了 .NET 4.0。
  • 甚至不知道这是什么 :-) 如果它是一个非托管库,只有 32 位,你需要 allow execution of 32-bit code in the app pool
猜你喜欢
  • 1970-01-01
  • 2020-07-27
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多