3

非常にシンプルですが、かなりダウナーです。私のプロジェクトには、MyCompany.System名前空間でクラスを宣言するライブラリがあります (残念ながら変更できません)。他のライブラリにサービス参照を追加した後、System.*.NET 名前空間はすべて名前空間に解決されるため、自動生成されたコードで何百ものエラーが発生しMyCompany.System.*ます。

この問題は、自動生成されたコードを編集し、global::へのすべての参照に追加することで簡単に修正できSystem.*ます。自動生成されたコードの一部に既にそれがあり、一部/ほとんどにないのはなぜですか。VS2012 で WSDL を強制的にglobal::自動的に追加するオプションを見つけることができませんでした。

それで、もしあれば私のオプションは何ですか?

4

2 に答える 2

0

いくつかのアイデア、そのうちの 1 つがうまくいくかもしれません。:)

自動生成されたコードが存在するプロジェクトで、最初に Visual Studio プロジェクト設定を編集し、プロジェクトの既定の名前空間を MyCompany 以外に変更します。これにより、System が MyCompany.System として解釈されなくなる場合があります。

名前空間エイリアスを使用してみてください。

MyCompanySystem = MyCompany.System を使用します。

于 2013-12-17T07:43:13.147 に答える
0

次のように extern エイリアスを使用できます。 MyCompany.System dll のプロパティで、エイリアスを Msystem として設定します。

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

extern エイリアスに関する msdn: https://msdn.microsoft.com/pl-pl/library/ms173212.aspx

于 2015-12-23T15:29:53.873 に答える