服务引用 - 为什么要重复使用引用程序集中的类型

18

我正在按照指示向项目添加服务引用,而默认情况下,“在引用的程序集中重用类型”被选中。

如果我保留它被选中,那么就会出现对像标签这样的控件产生二义性警告,现在我必须完全声明它们。

如果我取消选中它,这些警告就会消失。

我的问题是:

  1. 我为什么要重用类型?

  2. 这到底意味着什么?

  3. 如果我不使用它,会有什么问题?

1个回答

18

我知道我回答晚了两年,但是...

  1. 为什么我想要重用类型?

为了避免有两个名称、类型等相同的类。

  1. 这是什么意思?

如果您控制服务器代码和客户端代码并在单独的程序集中定义数据契约类(并在客户端代码中添加引用),则 svcutil 将不会生成新类,而是将重用您已经为服务器使用的已定义类

  1. 如果我不使用它会有什么问题?

通常情况下,如果您 1)不控制服务器代码或 2)为所有内容指定完整的命名空间,则没有问题。如果您在服务器和客户端代码的同一解决方案中,可能会收到歧义警告。


我在同一项目中有多个包含相同名称、命名空间等属性的ServiceReferences时,经常会看到XmlSerialization错误。我认为这可能也可以防止它们弹出。 - JSON

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接