我已经使用visual studio开发了一个asmx webservice,我通过复制所有文件在IIS 7上部署了3.5 Framework。
测试时说
无法加载文件或程序集 “System.Web.Extensions程序, 版本= 1.0.61025.0,文化=中立, PublicKeyToken = 31bf3856ad364e35'或 其中一个依赖项。系统 找不到指定的文件。
我不使用[System.Web.Script.Services.ScriptService],所以我不明白为什么它会尝试加载System.Web.Extensions。
所以我将Visual Studio从.NET 2更改为3.5,但又出现了另一个错误:
无法加载文件或程序集 'WebServiceTest'或其中一个 依赖。试图做到 加载程序不正确 格式。
如何解决这个问题?
注意:我没有使用任何其他程序集/ lib我只是学习webservice所以它非常简单:我创建了一个Web服务Test.asmx,其中一个方法在同一名称空间WebServiceTest中使用一个类Test.cs。这在当地有效。
最后我再次从头开始,现在它可以正常工作,我认为我通过重命名命名空间,类等等而不匹配。
答案 0 :(得分:1)
也许您正在使用依赖System.Web.Extensions
的第三方程序集。确保显式或隐式地未在项目中引用此程序集。通常,此程序集的版本是3.5.0.0。从错误消息看,您的项目似乎使用版本1.0.61025.0,这是一个旧版本。尝试查看每个引用的程序集以查看使用此旧版本的内容。您可能需要将其部署在目标服务器上。
答案 1 :(得分:1)
服务器是否安装了网络扩展程序?我认为它们是4.0之前的额外安装。或者:您是否也以正确的版本复制System.Web.Extensions.dll?在您的计算机上,它可能位于GAC中,而不是在bin文件夹中。
也就是说,你不应该使用它 - 使用WCF来公开从.NET 3.5开始的Web服务。你基本上培养过时/退休的技术。