3

非常简单但相当令人沮丧。我的项目中有一个库(不幸的是,我无法更改它),它在MyCompany.System命名空间中声明了它的类。在向我的其他库添加服务引用后,我在自动生成的代码中遇到数百个错误,因为System.*.NET 命名空间都被解析为MyCompany.System.*命名空间。

通过编辑自动生成的代码并添加global::到所有对System.*. 令人困惑的是,为什么一些自动生成的代码已经有了,而一些/大多数没有。我无法在 VS2012 中找到任何强制 WSDLglobal::自动附加的选项。

那么,如果有的话,我有什么选择?

4

2 回答 2

0

一些想法,其中一个可能有效。:)

在自动生成代码所在的项目中,首先编辑 Visual Studio 项目设置并将项目的默认命名空间更改为 MyCompany 以外的名称。这可能会阻止 System 被解释为 MyCompany.System。

尝试使用命名空间别名:

使用 MyCompanySystem = MyCompany.System;

于 2013-12-17T07:43:13.147 回答
0

您可以像这样使用外部别名:在 MyCompany.System dll 的属性中将别名设置为 Msystem

extern alias MSystem
//using statements
using MSystem.MyCompany.System

msdn 关于外部别名:https ://msdn.microsoft.com/pl-pl/library/ms173212.aspx

于 2015-12-23T15:29:53.873 回答