【发布时间】:2009-07-21 17:23:56
【问题描述】:
我最近在我的 web.config 文件中添加了一些命名空间,这样我的所有 aspx 页面都可以引用各种常量和枚举,而无需在每个 aspx 页面上添加导入语句。自从添加了这个,我们现在在尝试测试 asmx Web 服务时遇到错误。似乎在 wsdl 生成期间,我们收到以下错误:
CS0104:“消息”不明确 之间的参考 'System.Web.Services.Description.Message' 和“InsTech.ForeSight.Message”
在研究这个时,我发现在运行时编译期间会调用 DefaultWsdlHelpGenerator.asmx,并且其中有一个具有以下签名的方法:
void WriteSoapMessage(MessageBinding messageBinding, Message message, bool soap12) {
我们在命名空间中定义了一个名为 Message 的对象,它导致了不明确的引用,因为这个 Web 服务文件没有完全限定它们的消息。
如何在不从 web.config 中删除命名空间的情况下解决此问题?我们在虚拟目录的另一个文件夹中拥有我们的 Web 服务,因此我尝试添加一个 web.config,它对命名空间进行了清除,但似乎不起作用。
任何帮助将不胜感激。 谢谢 凯文
【问题讨论】: