I just joined a project and installed Microsoft Visual Studio Professional 2012 Version 11.0.51106.01 and Microsoft SQL Server 2008 R2 on a 64-bit machine.
Another team member is able to build the solution from his machine, but from my machine I get the following error:
Error 175: The specified store provider cannot be found in the configuration, or is not valid
In my .edmx file, all of the code between the
<edmx:StorageModels></edmx:StorageModels>tags is marked for the error. The relevant snippet from the top of the file is:
<?xml version="1.0" encoding="utf-8"?> <edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx"> <!-- EF Runtime content --> <edmx:Runtime> <!-- SSDL content --> <edmx:StorageModels> <Schema Namespace="[NAME].Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">
In doing research on similar posts, others have suggested checking the DbProviderFactories in the machine.config file.
*Edit: Added the relevant DbProviderFactories for .Net 4.0
<system.data> <DbProviderFactories> <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=184.108.40.206, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=220.127.116.11, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/><add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=18.104.22.168, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories> <DbProviderFactories/> </system.data>
Another guy on the team seems to recall this problem and it being associated with an iSeries configuration or setting in one of the updates to my Sql Server or Visual Studio install.
Has anyone see this before or have an idea for fixing it so I can get a clean build?
- Edited by gpcdon Monday, April 15, 2013 6:19 PM Added DbProviderFactories for .Net 4.0. Removed 2.0/3.5
Take a look at the app.config / web.config file on your local machine in the project that you are working on. You should have a section that looks like the following:
<connectionStrings> <add name="NameOfConnectionString" ... providerName="System.Data.SqlClient" /> </connectionStrings>At the end of the add tag you have providerName the one shown above is used for SQL server as you are using. The providers that you are showing are SqlCe and one for IBM db2
If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.
- Marked as answer by Chester HongMicrosoft community contributor, Moderator Tuesday, May 07, 2013 2:17 AM