我的asmx webservice在本地工作,但不在远程IIS上部署时7

问题描述:

我已经开发了一个带有Visual Studio的asmx webservice,并且我通过复制所有文件在具有3.5 Framework的IIS 7上部署。我的asmx webservice在本地工作,但不在远程IIS上部署时7

测试时,它说

Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

为什么它会尝试加载System.Web.Extensions程序我不使用[System.Web.Script.Services.ScriptService]所以我不明白。

所以我在Visual Studio改变从.NET 2〜3.5,但得到另一个错误:

Could not load file or assembly 'WebServiceTest' or one of its dependencies. An attempt was made to load a program with an incorrect format.

如何解决这一问题?注意:我没有使用任何其他程序集/ lib我只是在学习webservice,所以它非常简单:我创建了一个webservice Test.asmx,其中一个方法使用同一个名称空间WebServiceTest中的一个类Test.cs。这在当地适用。

最后我都从头开始,现在它的作品,我觉得我已经通过重命名空间,类等

也许你正在使用的依赖System.Web.Extensions第三方组件不匹配。确保这个程序集没有在你的项目中被明确或隐含引用。通常这个程序集的版本是3.5.0.0。从错误消息看来,您的项目使用的版本是旧版本1.0.61025.0。尝试查看每个引用的程序集以查看使用此旧版本的内容。您可能需要将其部署到目标服务器上。

+0

我没有使用任何东西我只是在学习webservice,所以它非常简单:我创建了一个webservice Test.asmx,其中一个方法使用同一个名称空间WebServiceTest中的一个类Test.cs。 – user310291 2010-09-25 14:26:09

+0

您的应用程序定位了什么框架?你有什么参考? – 2010-09-25 14:27:23

+0

正如我在主帖中添加的,我瞄准的是.NET 2,然后是3.5,最后与服务器相同。 – user310291 2010-09-25 14:28:15

服务器是否有Web扩展INSTALLED?我认为他们是4.0之前的额外安装。或者:你是否也在正确的版本中复制了System.Web.Extensions.dll?在您的计算机上,它可能位于GAC中,而不在bin文件夹中。

也就是说,你不应该使用它 - 使用WCF从.NET 3.5开始公开Web服务。你基本上训练过时/退休的技术。

+0

谢谢最后,我已经从头开始了现在它的工作,我认为我有重命名命名空间,类等不匹配 – user310291 2010-09-25 16:02:41