DB项目无法在Visual Studio 2013中加载。

35

错误信息如下:

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

我的队友创建了DB项目,但当我从源代码控制中拉取时,无法创建该项目。

4个回答

57

解决方法是获取“SQL Server数据工具”的更新。显然,您拥有较旧的版本。

在Visual Studio 2013中,转到“工具”->“扩展和更新”。从那里的左窗格中,单击“更新”。希望您能够在那里找到所需的更新。

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


这很有帮助,注意在安装SSDT更新后,我不得不关闭VS2013并重新打开。 - Chris Amelinckx
2
今天我遇到了这个错误,但在“扩展和更新”中没有列出SSDT更新。因此,我对Microsoft SQL Server Data Tools 2013进行了修复,问题得到了解决。 - Wayne Bloss

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>

1
太棒了!我也遇到了同样的问题,你的问题和答案帮了我很多。 - Water Cooler v2
2
这不是解决问题,而是迎合它。如果你的项目试图使用最新和最好的技术,你不应该将其降级。 - Michael Eakins
1
我认为这是每个开发者没有完全安装相同工具的副产品。对于每个人都有严格控制的工具链可能是“解决方案”。 - jocull
因为更新SQL Server数据工具应该是被接受的答案/解决方案,所以被踩了。 - dgundersen
2
在我的公司环境中,我不被允许安装更高版本的软件,所以这是唯一一个真正适用于我的解决方案。 - michaelkoss
我的项目并不是“试图使用最新和最好的”,我们的策略更多地是“尽可能长时间地维护这个堆栈,理想情况下是到我退休为止”,所以这对我来说很好。 - Chris

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)

清空了我的临时文件目录,现在数据库项目再次正常运行。这可能不是一个常见的解决方案,但我想把这个信息传达出去,以帮助其他人!

我尝试了修复(包括SQL Server数据工具和Visual Studio),但都没有成功。最后按照这里的建议删除了%TEMP%文件夹中的内容,然后很快就打开了并且第一次运行成功!谢谢@Brian。 - John Warlow
1
在完成上述步骤后,删除%TEMP%内容对我很有效。 - user2246494
1
这应该是被选中的答案。我浪费了三个多小时。感谢您让我们知道 TEMP 文件夹的情况。 - Erlis Vidal

0
您可以尝试以下步骤:
  1. 在您的解决方案中添加另一个数据库项目。
  2. 在编辑中输入DBProj文件。
  3. 复制DSP并使用该副本。

我曾试图将项目从vs2013移动到vs2012,并且它对我有用。提供程序为:

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

如果您使用的是VS2012,您可以尝试上述方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接