【问题标题】:Could not create type for webservice.asmx无法为 webservice.asmx 创建类型
【发布时间】:2012-07-05 15:18:17
【问题描述】:

我有一个网络服务,它使用一些其他项目的 dll 文件。当它在我的本地服务器上运行时一切正常。但是当我部署到服务器时,我有这个错误。

“/”应用程序中的服务器错误。

解析器错误

描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:无法创建类型“Dos.Service.Web.WS.DosMainWebService”。

来源错误:

第 1 行:

源文件:/ws/WS/DosMainWebService.asmx 行:1

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272

【问题讨论】:

  • 所有文件都复制了吗?在我看来,您缺少 .cs
  • DosMainWebService.asmx.cs 代码隐藏文件是否存在于服务器上的正确位置?它是否定义了一个名为 DosMainWebService 的类,并且该类是否在 Dos.Service.Web.WS 命名空间中定义?
  • @Chris,我检查了,但 .cs 文件在服务器中。
  • ASMX 是一项遗留技术,不应用于新开发。 WCF 或 ASP.NET Web API 应用于 Web 服务客户端和服务器的所有新开发。一个提示:微软已经在 MSDN 上停用了ASMX Forum

标签: c# visual-studio-2010 web-services asmx


【解决方案1】:

我有同样的错误......

我通过更改 Xzy.asmx 文件的属性解决了这个问题:

  • Build Action设置为Content
  • Copy to Output Directory 设置为Copy if newer(在我的情况下,它设置为“请勿复制”)

我希望这对任何人都有帮助......

【讨论】:

  • 设置复制到输出目录以复制如果更新(在我的情况下它被设置为“不复制”)
【解决方案2】:

请确保将 WebService bin 文件夹部署到服务器。我相信它缺少您的网络服务 dll。

【讨论】:

  • 我检查了我的 bin 文件夹,它已部署到服务器。
  • 可能缺少一些程序集。使用 FusionLog 识别缺失的。请在使用 FusionLog 时使用此链接
【解决方案3】:

我相信您有一个包含 web 服务和其他类库的解决方案文件,并且 web 服务应用程序使用这些类库中的 dll。我可以看到一个问题可能是您将项目类型用作 Web 服务的网站,这在解决 Web 服务命名空间的类型问题时会产生问题。因此解决方案将创建一个新的解决方案作为 Web 应用程序项目类型,然后添加项目库,它应该可以解决您的问题。

【讨论】:

    【解决方案4】:

    在网络上测试了许多建议的解决方案之后 所有的问题是:

    每次我只发布 web service.asmx 文件

    但是在重新发布所有解决方案后它可以工作..因为 webservice.asmx 有自己的 dll 文件

    【讨论】:

      【解决方案5】:

      我想你首先检查命名空间 asmx.cs 与 asmx 相同

      【讨论】:

        猜你喜欢
        • 2013-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多