つまり、私は、かなり長い間 (VS2005 で、その後 2008 年に) 開発中のアプリケーションを知るように割り当てられた駆け出しのプログラマーです。プロジェクトの存続期間中、その命名規則はやや複雑になりました。例として、ネーミング構造の一部を次に示します。
_MegaCorp.sln
Application_Install
Megacorp
DbResources.csproj
Forms
Megacorp.Forms.Concept.csproj
Properties
Resources
Megacorp
Forms
Concept
xyz.cs
情報を整理するのに最適な方法ではないかもしれませんが、VS2008 では問題なく機能します。VS2010 への更新は、既存のコードのオーバーホールを必要としないはずですよね?
何が起こっているのか: xyz が DbResources を呼び出すと、Visual Studio は親 Megacorp フォルダーではなく、Megacorp.Forms.Concept.Megacorp を検索します。すべての適切な参照と使用ステートメントが整然としています。前述のとおり、VS2008 ではすべて正常に動作します。ここで何が起こっているのですか?
Error 826 The type or namespace name 'xxx' does not exist in the namespace 'MegaCorp.Forms.Concept.Megacorp.Forms.Concept' (are you missing an assembly reference?) C:\x\y\c-sharp\Megacorp\Forms\Concept\ConstructEditor.Designer.cs 99 63 MegaCorp.Forms.Concept
更新: global::
xyz.cs でクラスを使用するたびに追加すると、問題が解決します。ただし、約 1,000,000 行のコードがあり、コンパイラによって報告されるエラーは 400 を超えます。400 個のエラーのそれぞれをくまなく調べて、各エラーの前に貼り付ければglobal::
、さらに多くのエラーが発生することは間違いありません。これを行うには別の方法が必要です。なぜなら、ソリューションは VS2008 でコンパイルされた非常に機能的で使用中のアプリケーションで構成されているからです。ご協力いただきありがとうございます!