【问题标题】:VS2010 web application won't build after adding web service reference添加 Web 服务引用后,VS2010 Web 应用程序将无法构建
【发布时间】:2012-02-09 17:54:26
【问题描述】:

我在 VS2010 中开发了一个针对 Framework 4.0 的 Web 应用程序项目。我需要添加对 Web 服务的引用。在我正在开发的同一台机器上,我创建了一个新项目——将目标框架设置为 3.5——并选择了 Web 服务应用程序——并使用默认的 HelloWorld 方法创建了一个 Web 服务。然后我将目标框架更改为 4.0 并将此 Web 服务发布到本地服务器 - http://mylocalserver/myWebService/Service1.asmx 并且,如果我将其放在浏览器中,一切正常 - 显示 Hello World 方法,如果单击它,它会执行好的并显示“Hello World”。

然后我向我的 Web 应用程序项目添加了一个服务引用 - 单击高级并添加了一个 Web 服务引用。在此过程中,发现 Web 服务并报告 Hello World 方法可用。因此,添加 Web 引用,在解决方案中我可以在 Web References - myWebService - Reference.map - Reference.cs - Service1.disco - Service1.wsdl 下看到

然后,如果我尝试构建 Web 应用程序项目,构建会失败。它说'错误 48 无法加载文件或程序集'file:///C:\Development\EVProject\EVProject\bin\AjaxControlToolkit.dll' 或其依赖项之一。不支持操作。 (HRESULT 异常:0x80131515)

如果我删除对 Web 服务的引用 - 一切正常且运行良好。如果我把对 Hello World Web 服务的引用放回 - 它不会构建。把它拿出来,它就可以正常工作了。

知道为什么添加网络引用会阻止它构建吗?感谢您的帮助。

编辑:更多信息...

更多信息。在同一台开发机器上,我有一个网站项目。我刚刚向该项目添加了相同的 Web 引用,并从中调用了 Web 服务。它构建良好 - 并正确调用 Web 服务。

因此,同一台开发机器上的两个应用程序。

VS2010 - 都针对 Framework 4.0

一个是网站项目

另一个是Web应用项目

如果我向两个项目添加相同的 Web 引用,Web 应用程序将不会构建 - 网站项目构建良好并正确调用 Web 服务。那么,谁不会构建 Web 应用程序项目?

【问题讨论】:

  • 已删除附加信息并添加到原始问题中。
  • 是否与AjaxTookKit有关。据我所知,不同版本的 AjaxTookKit 版本不同。它可能适用于一个但不能适用于另一个,是这样吗?
  • 对不起,不明白你的问题。当您说“它与 Ajax Toolkit 相关吗?” .... 与 Ajax Toolkit 有什么关系? Web 应用程序项目引用了 Ajax Toolkit,但可以完美地构建和运行 - 直到我添加对 Web 服务的引用。此时 Web 应用程序将不会构建,说它无法加载 Ajax 程序集。为什么做一些像添加对 Web 服务的引用这样无辜的事情意味着突然间,Ajax Toolkit dll 将无法加载?
  • 我的意思是它与 Ajax 相关吗?看起来这可能与您正在使用的 Ajax 库发生冲突。我不能完全进入它,但两个应用程序的版本是否相同?正如你所说,你使用的是 4.0 和 3.5。 Ajax 可能与其中之一兼容,但不能同时与两者兼容。尝试将 .NET 框架更改为可行的框架。
  • Web 服务是为 3.5 创建的并更改为 4.0。 Web 应用程序项目是 Framework 4.0 ajax 工具包 dll 是最新的 - 我不明白为什么添加对具有典型 Hello World 方法的 Web 服务的引用会停止 Web 应用程序的构建。我认为它无法加载 ajax 工具包 dll 的事实可能是一个红鲱鱼。

标签: .net web-services


【解决方案1】:

我遇到了同样的问题:我的项目在添加 Web 引用后没有构建。我能够从我的项目属性构建选项卡中禁用“生成序列化程序集”选项来构建它。

【讨论】:

  • 谢谢,我试试看。与此同时,我放弃并创建了一个 WCF 服务(或任何最新的东西 - 跟不上所有的首字母缩略词)。哪个工作正常,但要使用 Web 服务要复杂得多。
  • 添加 Web 参考后,我有一个不同的程序集“未加载”(似乎在它找到的第一个程序集上抛出错误),但是将“生成序列化程序集”从“自动”设置为“关闭” " 也为我工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 2011-09-13
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多