Help and Support

オブジェクトの識別子に中点 (・) を含む Visual Studio 2003 のプロジェクトを Visual Studio 2005 へ移行した場合、コンパイル エラーが表示されることがある

文書番号:948575
最終更新日:2008年2月7日
リビジョン:1.0

現象

Microsoft Visual Studio 2003 で作成した特定の条件を含むプロジェクトを Microsoft Visual Studio 2005 へ移行した場合、コンパイル時またはデバッグ時に次のエラー メッセージが表示されることがあります。
項目 "<プロジェクト名>.フォーム.resources" は "Resources" パラメータで 1 度以上指定されました。重複した項目は "Resources" パラメータではサポートされていません。
発生条件
この問題は、Visual Studio 2003 で作成したプロジェクトの中に以下の 2 つの条件にあてはまる識別子を含む場合に発生します。
?オブジェクトの識別子として中点 (・) を使用している
?中点 (・) までの文字列が同じであるオブジェクトの識別子が複数存在する
: 中点 (・) の Unicode コード番号は U+30FB (KATAKANA MIDDLE DOT) です。中黒、中点とも呼ばれることもあります。

先頭へ戻る

原因

Visual Studio 2005 での仕様変更により、中点をオブジェクトの識別子として使用できません。

Microsoft .NET Framework 1.1 以前のバージョンでは、中点を 2 つの文字を接続する接続区切り記号 (ConnectorPunctuation) のカテゴリとして取り扱っていましたが、Microsoft .NET Framework 2.0 以降では、Unicode Technical Committee (UNICODE 技術委員会) による UCD (Unicode Character Database) の変更に沿って、中点を文字を区切るための記号 (OtherPunctuation) のカテゴリとして取り扱うよう仕様を変更しました。

先頭へ戻る

回避策

この問題を回避するには、Visual Studio 2005 プロジェクト形式にアップグレードした後、手動でフォーム クラス名などに含まれる中点 (・) を削除、または別の記号に修正します。使用する Unicode 文字がどの UnicodeCategory に分類されているかを確認するには、次のマイクロソフト Web サイトを参照してください。
Char.GetUnicodeCategory メソッド
http://msdn2.microsoft.com/ja-jp/library/system.char.getunicodecategory.aspx (http://msdn2.microsoft.com/ja-jp/library/system.char.getunicodecategory.aspx)

先頭へ戻る

詳細

Visual Studio 2005 で作成したプロジェクトのフォーム名に中点を入力する場合、IDE が自動的に中点 (・) をアンダースコア (_) に変換しますが、プロジェクト移行機能では自動変換しません。

問題の再現手順

1.Visual Studio 2003 で次の 2 つのフォーム クラス名を登録し、プロジェクトを作成します。

フォーム・処理 1
フォーム・処理 2
2.プロジェクトを Visual Studio 2005 へ移行します。
3.Visual Studio 2005 でコンパイルを開始します。

結果

IDE の[エラー一覧] ペインに以下のエラー メッセージが表示され、コンパイルに失敗します。 これは Visual Studio 2005 のコンパイラが中点 (・) より前で区切った文字列 "フォーム" をフォーム クラス名として認識し、コンパイル時に 2 つのフォーム クラス名が同じものと判定するため、エラーとなります。
項目 "<プロジェクト名>.フォーム.resources" は "Resources" パラメータで 1 度以上指定されました。重複した項目は "Resources" パラメータではサポートされていません。

先頭へ戻る

関連情報

UNICODE 標準については、次の UNICODE 技術委員会 Web サイトをご参照下さい。
http://www.unicode.org/consortium/utc.html (http://www.unicode.org/consortium/utc.html)
UNICODE 技術委員会による中点のカテゴリ変更については、次の UTC の議事録に記されています。
http://unicode.org/consortium/utc-minutes/UTC-101-200411.html (http://unicode.org/consortium/utc-minutes/UTC-101-200411.html)
.NET Framework で取り扱う文字のカテゴリ一覧については、次のマイクロソフト Web サイトを参照してください。
UnicodeCategory 列挙体
http://msdn2.microsoft.com/ja-jp/library/system.globalization.unicodecategory.aspx (http://msdn2.microsoft.com/ja-jp/library/system.globalization.unicodecategory.aspx)

先頭へ戻る


この資料は以下の製品について記述したものです。
?Microsoft Visual Studio 2005 Standard Edition
?Microsoft Visual Studio 2005 Professional Edition
?Microsoft Visual Studio 2005 Team Edition for Software Architects
?Microsoft Visual Studio 2005 Team System Team Foundation
?Microsoft Visual Studio 2005 Team Suite

先頭へ戻る

キーワード:?
kberrmsg kbtshoot kbinput kbupgrade kbexpertiseinter KB948575

先頭へ戻る

"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.