35

错误说:

无法为目标平台“Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider”创建扩展管理器。

我的队友创建了数据库项目,但是当我从源代码控制中将其拉下时,它无法创建。

4

4 回答 4

57

解决方案是更新“SQL Server Data Tools”。你显然有一个旧版本。

查看 Visual Studio 2013 下的 Tools-->Extensions and Updates。在左侧窗格中,单击更新。希望您能够在那里找到所需的更新。

(或者,在 Windows 的控制面板 --> 程序下的“SQL Server Data Tools”上运行修复安装。)

于 2014-08-05T19:55:31.427 回答
16

我通过降低所需的工具版本解决了这个问题。我不确定为什么将它们安装在他的机器上而不是我的机器上,但编辑 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>
于 2014-04-28T12:04:50.737 回答
5

遇到了同样的问题并尝试了上述解决方案,尽管即使从头开始创建新项目也会收到相同的错误消息。由于某种原因,我也得到了“文件存在”。

我在事件查看器中发现了以下内容:

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)

清除了我的临时目录,现在数据库项目再次运行。这可能不是解决此问题的真正常见解决方案,但希望将信息发布在那里以防万一它可以帮助其他人!

于 2016-01-18T15:42:32.740 回答
0

您可以尝试以下步骤:

  1. 尝试在您的解决方案中添加另一个数据库项目。
  2. 在编辑 DBProj 文件中输入
  3. 复制 DSP 并使用那个。

我试图将项目从 vs2013 移动到 vs2012,它对我有用。提供者是:

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

如果你有VS2012,你可以试试上面的那个。

于 2015-05-16T12:18:04.297 回答