繁体   English   中英

如何在VS2010和VS2012中加载数据库项目?

[英]How to load database project in VS2010 and VS2012?

我最近从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中加载我的项目吗?

显然,微软在VS2012中有一个新的Sql1110 DSP。 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进行比较,上面的行是主要区别。 是的,microsoft更改了proj文件扩展名,但您不必更改旧的dbproj扩展名。 它适用于我。

由于我们没有完整的代码集来检查,因此很难理解确切的问题,但是对于导入 - 您应该将其更改为:

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

如果这不能解决问题,请在任何机会安装Resharper时更新,并尝试删除其缓存。

其他人也可能在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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM