错误说:
无法为目标平台创建扩展管理器' Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider'。
我的队友创建了数据库项目,但是当我从源代码管理中将其拉下来时,它无法创建。
答案 0 :(得分:57)
解决方案是更新" SQL Server数据工具"。你显然有一个旧版本。
在Visual Studio 2013中查看工具 - >扩展和更新。在左侧窗格中,单击“更新”。希望您能够在那里找到所需的更新。
(或者,在" SQL Server数据工具"在Windows'控制面板 - >程序下运行修复安装。)
答案 1 :(得分:15)
我通过降低所需的工具版本来解决这个问题。我不确定为什么他们安装在他的机器上而不是我的机器上,但编辑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>
答案 2 :(得分:5)
有同样的问题,并尝试了上述解决方案,虽然从头开始创建一个新项目得到相同的错误消息。我也得到了#34;文件存在&#34;由于某些原因。
我在事件查看器中找到了以下内容:
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)
清除了我的临时目录,现在数据库项目再次出现。这可能不是解决这个问题的真正常见解决方案,但是想要获取信息,以防它可以帮助其他任何人!
答案 3 :(得分:0)
您可以尝试以下步骤:
我试图将项目从vs2013移到vs2012,它对我有用。提供者是:
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>
如果您有VS2012,可以尝试上面的那个。