2009-07-28 16 views
1

私たちは、DataAccessレイヤのためにいくつかのプロジェクトで型付きデータセットを使用しています。時々、部分クラスの機能を使用してそれらを拡張します。データセットのビューコードを使用すると、コードを追加できる部分クラス宣言でDataSetName.csを作成します。このファイルの中に、TableAdapterパーシャルクラスも追加します。Visual Studio 2008のデータセット生成の問題(ネームスペースの問題)

例:

は、最近では、データセット・ジェネレータの動作はそれは.csファイルファイル内のTableAdapterの名前空間の一部を削除したVS 2008で異なるように思わVS 2005からのVisual Studio 2008に移行しました

オリジナルコード:VS 2008での移行後


namespace ClassLibrary1.Dataset.DataSet1TableAdapters 
{ 
    public partial class CategoriesTableAdapter 
    { 
    } 
} 


namespace ClassLibrary1.DataSet1TableAdapters 
{ 
    public partial class CategoriesTableAdapter 
    { 
    } 
} 

名前空間が変更されました!これはプロジェクトのルート名前空間に置き換えられました。

再現手順:

  1. クラスライブラリプロジェクトを作成します。
  2. プロジェクト内のDatasetなどのフォルダを追加します。
  3. フォルダ(DataSet1)内にデータセットを追加します。
  4. データセットデザイナのテーブルを削除します(Northwindのテーブルを使用しました)。
  5. ソリューションエクスプローラでデータセットを右クリックし、[コードを表示]を選択します。内部でデータセットの部分クラスを持つDataSet1.csファイルが作成されます。
  6. DataSet1.Designer.csからテーブルアダプタの名前空間とクラスをコピーし、DataSet1.csに貼り付けます。
  7. データセットでカスタムツールを実行すると機能します。 のWindows Server 2003 R2 Standard EditionのSP2 :データセットのソリューション
  8. オープンソリューション再び
  9. 実行カスタムツール、TableAdapterのために変更され、名前空間、非常に迷惑:(

私のマシン閉じる

  • Visual Studio 2008 Pro(9.0.21022.8 RTM) XPを実行している同僚のコンピュータでもテスト済み

    誰も既に同じ奇妙な動作を経験していますか? 私は間違ったことをしましたか? Visual Studio 2008の内部で新しい機能を構成して、VS 2005と同じように動作させることができますか?

  • +0

    カスタムツールの名前空間を設定しようとしましたか?警告:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?Feedback=313984&wa=wsignin1.0 –

    +0

    はい私はそれを試みましたが、残念ながら何も変更されません。MS Connectのリンクをありがとうございますが、それが関連しているかわかりません。 VS2005の新機能ではありませんが、それはVS 2005でうまくいくものです:( –

    答えて

    0

    Visual Studio 2008 SP1でこの問題が修正されました。

    1

    名前空間もクラス名であると、混乱が生じる。マイクロソフトは明らかにこの場合に名前空間生成のバグを修正することに決めました。私はあなたの名前空間を修正することをお勧めします。

    +0

    私の名前空間を修正するのはどういう意味ですか?既存のクラス名に一致する名前空間はありません:( ヒントのために、それは常に知って良いことです! –

    関連する問題