繁体   English   中英

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

[英]My asmx webservice works locally but not when deployed on remote IIS 7

我已经使用Visual Studio开发了一个asmx Web服务,并通过复制所有文件在具有3.5 Framework的IIS 7上进行了部署。

测试时说

无法加载文件或程序集'System.Web.Extensions,版本= 1.0.61025.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。 该系统找不到指定的文件。

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

所以我在Visual Studio中从.NET 2更改为3.5,但又遇到另一个错误:

无法加载文件或程序集“ WebServiceTest”或其依赖项之一。 试图加载格式错误的程序。

如何解决这个问题?

注意:我没有使用任何其他程序集/库,我只是在学习Web服务,因此非常简单:我使用一种方法创建了Web服务Test.asmx,该方法在相同名称空间WebServiceTest中使用一个类Test.cs。 这在本地有效。

终于,我再次从头开始,现在可以使用了,我想我通过重命名名称空间,类等不匹配。

也许您正在使用依赖于System.Web.Extensions第三方程序集。 确保在您的项目中没有显式或隐式引用此程序集。 通常,此程序集的版本为3.5.0.0。 从错误消息看来,您的项目正在使用版本1.0.61025.0,这是一个旧版本。 尝试查看每个引用的程序集,以了解使用此旧版本的程序集。 您可能需要将其部署在目标服务器上。

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

就是说,您不应该使用WCF公开从.NET 3.5开始的Web服务。 您基本上培训过时/淘汰的技术。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM