2

SQL Server 単体テストを含む VS 2010 プロジェクトがあります。それらをVS2012に変換する必要があります。グーグルでよく調べた後、手順を説明していないmsdnの記事を見つけました。プロジェクトのコンテキスト メニューには、プロジェクトのアップグレードに関連するものは何も含まれていません。2012 年にプロジェクトを開いた後、テスト SQL ユニット テスト クエリが表示されません。vs 2010 で開くと、それらが表示されます。vs 2012 でプロジェクトを開いた後、新しい SQL 単体テストを作成すると、次のようなポップアップ ボックスが表示されます。

ここに画像の説明を入力

SSDTBI_VS21012 をインストールしました。SQL Server 単体テストを使用して VS2010 プロジェクトを VS2012 に変換する方法を教えてください。

4

1 に答える 1

0

私は製品チームで働いています。これを提起してくれてありがとう。簡単な調査の結果、これはVisual Studio の SQL Server データベース ツールの7 月のリリースで導入されたリグレッションのようです。https://connect.microsoft.com/SQLServer/feedback/CreateFeedback.aspxでこの問題の接続バグを  報告し、カテゴリ「開発者ツール (SSDT、入札など)」を使用してください。これは優先度の高いものとして扱います。これは、追跡され、いつ修正されるかを確認できるようにするための最良の方法です。

残念ながら、7 月/11 月のリリースには回避策がありません。これは、すべての単体テスト プロジェクトでこのオプションが表示されないようにするために過度のチェックが追加されたためです。また、オーバーライド可能なコマンドもありません。ただし、自分自身のブロックを解除するには、次の 2 つのいずれかを行う必要があります。

回避策 #1データベース ツール コンポーネントをアンインストールし、代わりに以前のバージョンをインストールします。方法は次のとおりです。

  • プログラムの追加と削除に移動します
  • 全体のインストーラーである「Microsoft SQL Server Data Tools 2012」が存在する場合はアンインストールします。
  • 「Microsoft SQL Server Data Tools - enu」をアンインストールします (英語版がインストールされている場合)。
  • 7 月または 11 月のリリースを使用している場合、「Microsoft SQL Server Data Tools Build Utilities - enu」は不要になったため、アンインストールする必要はありません。ただし、問題が発生した場合は、これもアンインストールすることを検討してください。
  • 代わりに、VS2012 用の SQL Server ツールの 4 月リリースをインストールしてください。これを行う SSDTSetup.exe ファイルはhttp://download.microsoft.com/download/0/D/F/0DF6C816-A7D5-4C17-8B10-2061FC97D37E/EN/SSDTSetup.exeにあります。英語を使用していない場合は、URL の「/EN/」の部分を DEU などの別の言語に変更すると、その言語バージョンをダウンロードできるようになります。

回避策 #2新しい単体テスト プロジェクトに移行する 別の方法として、新しい SQL 単体テスト プロジェクトを作成し、テストを次の場所に移行することもできます。

  • SQL プロジェクトの手順に基づいて単体テスト プロジェクトを作成するか、新しい単体テスト プロジェクトを作成して、[追加] -> [新しい項目] -> [SQL Server] -> [SQL Server 単体テスト] に移動します。

  • SQL Server テスト構成ダイアログが開いたら、参照プロジェクトと接続文字列に有効な値を入力してください。これらは以前のプロジェクトと一致している必要があります。

  • 古いプロジェクトから単体テスト ファイルをコピーします。ビルドすると、参照がないために失敗します。次に修正します。

  • プロジェクトをアンロード (右クリックしてプロジェクトをアンロード) し、上部近くに次のスニペットを追加します。

    <PropertyGroup>
      <IncludeSsdtUnitTestAdapter>True</IncludeSsdtUnitTestAdapter>
    </PropertyGroup>
    
  • プロジェクトをリロードしてビルドします。移行で使用されるアダプタ DLL が参照に含まれるため、これでパスするはずです。

  • 最後に、テストを実行すると、動作するはずです。

于 2014-11-24T20:51:44.633 に答える