【问题标题】:VS2008 Update Web Reference creates naming conflicts in Reference.csVS2008 更新 Web 参考在 Reference.cs 中产生命名冲突
【发布时间】:2010-01-12 16:52:21
【问题描述】:

我有一个 Web 服务,当在一台计算机上使用 VS2008 进行更新时,它工作得非常好,但在另一台计算机上却不行。关键区别在于自动生成的 Reference.cs 的内容。

在正常运行的环境中,方法具有完全限定的类名,指的是类库中的类。但是,在问题环境中,类名是不合格的,部分类在文件末尾附近声明。例如

public string MyMethod(MyClass pr_Class)
...
public partial class MyClass {
}

public string MyMethod(Class.Library.Namespace.MyClass pr_Class)

这会导致如下错误:

'<ClassType>' is an ambiguous reference between <ClassLibraryNamespace>.ClassType and <WebReferenceNamespace>.ClassType

代码受源代码控制。检出工作环境可以立即工作,检出问题环境只有在手动编辑 reference.cs 以使其与工作环境类似的情况下才能工作。手动将项目从问题环境转移到工作环境只需要执行“更新 Web 参考”以允许编译。两个 Reference.cs 文件都声称是由同一工具版本自动生成的。良好环境中的设置已导出到其他环境。目前还没有成功...

任何想法将不胜感激!

马特

【问题讨论】:

  • 听起来这两个环境有不同版本的 VS.NET。也许一个有 2008 而另一个有 2008 SP1?
  • 感谢您的回复。不幸的是,它们与 SP1 的版本相同。然而,一个区别是工作环境也有一个现有的 VS2005 安装。

标签: asp.net visual-studio-2008 asmx web-reference


【解决方案1】:

好的,我有答案了。工作环境有一个长期被遗忘的用于导入 Web 引用的扩展库。 Customizing generated Web Service proxies 解释了该过程。我是这个项目的新手,所以对此一无所知!

【讨论】:

  • @kttii,我会质疑 2018 年是否需要 SOAP 代理......但是,我仍然找不到 MS 将其移至何处。更改为 WayBackMachine 链接。
  • 谢谢您,先生,这有帮助。我不记得我是如何找到这个答案的,但文本足够模糊,以至于我无法破译它以找到替代答案。
猜你喜欢
  • 2021-10-31
  • 2018-11-29
  • 2016-06-20
  • 2020-07-24
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 2015-01-11
  • 2012-08-11
相关资源
最近更新 更多