5

最近、VS2010からVS2012に切り替えました。データベースプロジェクトを開くと、以下のエラーが発生します。

C:\Trunk\Database\Database.dbproj : error  : Internal Error. The database platform service with type Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service.

窒息しているプロジェクトファイルの次の行かもしれないと思います

    <DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>

またはおそらくこれ

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />

VS2012でプロジェクトをロードできるように、このエラーを回避する方法はありますか?

4

3 に答える 3

4

どうやらMicrosoftはVS2012に新しいSql1110DSPを持っています。VS2010のバージョンはSql1100です。

これを修正するには、.dbprojファイル内で次の行を変更します。

<ProjectVersion>4.0</ProjectVersion>
<ProjectGuid>{a233d7e8-b460-4b72-a345-aaeee4fb3aca}</ProjectGuid>
<DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
...
<!--Import the settings-->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />
<ItemGroup>

これに:

<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{6cd7e290-f844-4410-97f6-e8fd6e63c5b5}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>
...
<!--Import the settings-->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<ItemGroup>

VS2012で新しい空のデータベースプロジェクトファイルを作成し、.sqlprojファイルを古い.dbprojと比較しました。上記の行が、主な違いです。はい、マイクロソフトはprojファイル拡張子を変更しましたが、古いdbproj拡張子を変更する必要はありません。それは私に働きます。

于 2013-07-30T21:16:50.713 に答える
2

チェックするコードの完全なセットがないため、正確な問題を理解するのは難しいですが、インポートの場合は、次のように変更する必要があります。

 <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Schema.SqlTasks.targets" />

これで問題が解決しない場合は、万が一Resharperがインストールされている場合は更新して、キャッシュを削除してみてください。

于 2012-12-19T14:46:33.320 に答える
2

他の人もVS2013でこの同じ問題に遭遇する可能性があるので、データベースプロジェクトファイル.dbprojまたは.sqlprojをテキストエディタで開きます。

変化する:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />

に:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

そしてから

<ProjectVersion>4.0</ProjectVersion>

に:

<ProjectVersion>4.1</ProjectVersion>

そしてから

<DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>

に:

<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP>
于 2014-07-24T01:20:19.127 に答える