2012-07-05 50 views
2

我有一个web服务,它使用一些其他项目的dll文件。当它在我的lochal服务器上运行时,一切正常。但是当我部署到服务器时,我有这个错误。无法为webservice.asmx创建类型

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

分析器错误

说明:该请求提供服务所需资源的分析过程中发生错误。请检查以下特定的分析错误详细信息并适当修改您的源文件。

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

源错误:

1行:<%@ WebService的语言= “C#” 的CodeBehind = “DosMainWebService.asmx.cs” 类= “Dos.Service.Web.WS.DosMainWebService” %>

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

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

+0

你复制了所有文件吗?在我看来,就像你缺少.cs – ChrisBint 2012-07-05 15:22:15

+2

文件后面的'DosMainWebService.asmx.cs'代码是否存在于服务器上的正确位置?它是否定义了一个名为'DosMainWebService'的类,并且该类是由'Dos.Service.Web.WS'命名空间定义的吗? – 2012-07-05 15:24:00

+0

@Chris,我查了一下但是.cs文件在服务器上。 – cagin 2012-07-05 15:53:39

回答

1

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

+0

我检查了我的bin文件夹,并将其部署到服务器。 – cagin 2012-07-05 15:53:01

+0

可能是一些程序集丢失。使用FusionLog识别丢失的部分。请使用此链接上使用FusionLog – RajN 2012-07-05 19:40:52

+0

http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net – RajN 2012-07-05 19:41:12

0

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

3

我有同样的错误...

我解决它通过改变我的Xzy.asmx文件的属性:

  • 设置Build ActionContent
  • 设置Copy to Output DirectoryCopy if newer(在我的情况下,它被设置为“不要复制”)

我希望这可以帮助任何人......

+1

你的第二个步骤是什么解决我的问题,我。 – 2017-02-28 14:44:02

+0

设置复制到输出目录复制,如果更新(在我的情况下,它被设置为“不要复制”) – 2018-01-26 16:06:54

0

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

每次我只出版网络service.asmx文件

,但之后重新发布所有它works..because web服务的解决方案时

。 asmx有它自己的dll文件

相关问题