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