作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近从 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 扩展名。它对我有效。
关于c# - 如何在VS2010和VS2012中加载数据库项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953235/
我是一名优秀的程序员,十分优秀!