web-dev-qa-db-ja.com

DBプロジェクトはVisual Studio 2013で読み込まれません

エラーは言います:

ターゲットプラットフォーム 'Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider'の拡張マネージャーの作成に失敗しました。

私のチームメイトはDBプロジェクトを作成しましたが、ソース管理からプルダウンすると作成できませんでした。

35
jocull

解決策は、「SQL Server Data Tools」のアップデートを入手することです。明らかに古いバージョンがあります。

Visual Studio 2013の[ツール]-> [拡張機能と更新プログラム]を確認します。そこから左のペインで、「更新」をクリックします。必要なアップデートが見つかることを願っています。

(または、Windowsの[コントロールパネル]-> [プログラム]の[SQL Serverデータツール]で修復インストールを実行します。)

57
Glen Weaver

必要なツールのバージョンを下げることで、この問題を修正しました。私のマシンではなく自分のマシンにインストールされている理由はわかりませんが、dbprojファイルを編集し、次のように要件を下位バージョンに変更します。

元の:

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

更新:(*を含めないでください)

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
**<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>**
<OutputType>Database</OutputType>
<RootPath>
</RootPath>
15
jocull

同じ問題があり、上記の解決策を試しましたが、ゼロから新しいプロジェクトを作成しても同じエラーメッセージが表示されました。また、何らかの理由で「ファイルが存在します」と表示されていました。

イベントビューアーで次を見つけました。

Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
   at System.IO.__Error.WinIOError(Int32, System.String)
   at System.IO.Path.InternalGetTempFileName(Boolean)

一時ディレクトリをクリアし、データベースプロジェクトが再び動作するようになりました。これはおそらくこの問題の本当の一般的な解決策ではありませんが、他の人を助けることができる場合に備えて情報を入手したかったのです!

5
Brian Riley

次の手順を試すことができます。

  1. ソリューションに別のデータベースプロジェクトを追加してみてください。
  2. DBProjファイルの編集を入力します
  3. DSPをコピーして使用します。

プロジェクトをvs2013からvs2012に移動しようとしていましたが、うまくいきました。プロバイダーは:

<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>

VS2012をお持ちの場合は、上記のものを試すことができます。

0
Sunil Mehta