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

Service reference - why reuse types in referenced assemblies

我正在按照说明将服务引用添加到我的项目,默认情况下,"reuse types in referenced assemblies" 处于选中状态。

如果我勾选它,我会在像 Label 这样的控件上收到不明确的警告,我现在必须完全声明它。

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

我的问题是:

  1. 为什么要重用类型?

  2. 这到底是什么意思?

  3. 不使用会有什么问题?

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

  1. Why would I want to reuse types?

避免两个 类 具有相同的名称、类型等

  1. What does that mean exactly?

这意味着,如果您控制服务器代码和客户端代码并在单独的程序集中定义数据合同类(并在客户端代码中添加对它的引用),svcutil 将不会生成新的类而是会re-use你的already-defined类您用于服务器.

  1. What are the problems if I don't use it?

通常 none 如果您 1) 不控制服务器代码或 2) 为所有内容指定完整的名称空间。如果您在服务器和客户端代码的相同解决方案中,您可能会收到模棱两可的警告。