C# 运行时编译期间出现不明确的引用错误

C# 运行时编译期间出现不明确的引用错误,c#,.net,asp.net,C#,.net,Asp.net,我最近在web.config文件中添加了一些名称空间,这样我的所有aspx页面都可以引用各种常量和枚举,而无需在每个aspx页面上添加导入语句。自从添加了这个之后,我们现在在尝试测试ASMXWeb服务时遇到了一个错误。在生成wsdl的过程中,我们似乎遇到了以下错误: CS0104:“消息”是一个不明确的名称 参考 'System.Web.Services.Description.Message' 和“InsTech.远见.信息” 在研究此问题时,我发现DefaultWsdlHelpGenerat

我最近在web.config文件中添加了一些名称空间,这样我的所有aspx页面都可以引用各种常量和枚举,而无需在每个aspx页面上添加导入语句。自从添加了这个之后,我们现在在尝试测试ASMXWeb服务时遇到了一个错误。在生成wsdl的过程中,我们似乎遇到了以下错误:

CS0104:“消息”是一个不明确的名称 参考 'System.Web.Services.Description.Message' 和“InsTech.远见.信息”

在研究此问题时,我发现DefaultWsdlHelpGenerator.asmx在运行时编译期间被调用,其中有一个方法具有以下签名:

void WriteSoapMessage(MessageBinding messageBinding, Message message, bool soap12) {
我们在名称空间中定义了一个名为Message的对象,该对象导致了不明确的引用,因为此web服务文件没有完全限定其消息

如何在不从web.config中删除名称空间的情况下解决此问题?我们的web服务位于虚拟目录中的另一个文件夹中,因此我尝试添加一个web.config,它在名称空间中进行了清除,但似乎不起作用

任何帮助都将不胜感激。 谢谢
Kevin

您可以在代码中使用名称空间别名,并使用它来区分它们:

using ourOwn=our.own.namespace;

并将您的消息类称为
ourOwn.Message
。这将避免冲突。

请参阅我在下面留下的评论。我应该澄清WriteSopMessage不是我编写的函数,而是.net框架的一部分。