Domanda

The error says:

Failed to create extension manager for the target platform 'Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider'.

My teammate created the DB Project, but when I pulled it down from source control it failed to create.

È stato utile?

Soluzione

The solution is to get an update to the "SQL Server Data Tools". You apparently have an older version.

Look in Visual Studio 2013 under Tools-->Extentions and Updates. On the left pane from there, click on Updates. Hopefully you'll be able to find the update you need there.

(Alternatively, run a repair installation on "SQL Server Data Tools" under Windows' Control Panel-->Programs.)

Altri suggerimenti

I fixed this problem by lowering the required version of the tools. I'm not sure why they are installed on his machine and not on mine, but edit the dbproj file and change the requirement to a lower version, like this:

Original:

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

Updated: (don't include the *'s)

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
**<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>**
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

Had the same problem and tried the above solutions, though even creating a new project from scratch was getting the same error message. I was also getting "File exists" for some reason.

I found the following in the event viewer:

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)

Cleared my temp directory and now the database projects are once again behaving. This is probably not a real common solution to this problem, but wanted to get the info out there in case it can help anyone else!

You can try these steps:

  1. Try adding another database project in your solution.
  2. Enter in the edit the DBProj File
  3. Copy the DSP and use that one.

I was trying to move the proj from vs2013 to vs2012 and it worked for me. The provider was:

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

You can try the one above if you have VS2012.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top