none
EntityFramework code-based dataprovider error 175 RRS feed

  • Allgemeine Diskussion

  • Hallo,

    ich habe folgendes Problem:

    Ich arbeite mit EF6 und Npgsql 2.2.3. Ich möchte gerne ohne App.config arbeiten, da die PostgreSQL DB als seperaten Library umgesetzt werden soll und ich den DatenProvider nicht in die App.config der Anwendung kopieren kann. Also habe ich nach folgendem Artikel (https://msdn.microsoft.com/en-us/data/jj730568#code) via code-based registration meinen Npgsql Provider registriert:

    publicclassMyConfiguration : DbConfiguration
    {
        public MyConfiguration()
        {
            this.SetProviderServices("Npgsql", newNpgsqlServices());
        }
    }


    Da auf meinem Build-Server keine NuGet-packages (EF und Npgsql) installiert sind, habe ich die libraries aus diesen, neben mein Projekt gelegt und entsprechend darauf verwiesen.

    Öffne ich nun die Solution auf dem Build-Server kommt folgende Fehlermeldung in der edmx Datei:

    Error 175: The ADO.NET provider with invariant name 'Npgsql' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for

    <edmx:Runtime>
        <!-- SSDL content -->
        <edmx:StorageModels>
        <Schema Namespace="MyDBModel.Store" Provider="Npgsql" ProviderManifestToken="8.4.20" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
            <EntityType Name="mdlb">
    
    ...


    Nun meine Frage:

    Wie kann ich ohne installierte NuGet-packages und dem entsprechenden Eintrag in der machine.config den Provider Npgsql (über code-based registration) für das edmx file sichtbar machen?


    Grüße und vielen Dank schon im Voraus.





    Donnerstag, 5. Februar 2015 12:34

Alle Antworten

  • Hallo M Sauter,

    Im unten angegebenen Thread geht es um ein ähnliches Verhalten, das auf die unterschiedlichen Ordner zurückzuführen ist, in denen EntityDataModel.dll und DeineAnwendung.exe erstellt wurden, wobei erstere auf Npgsql.EntityFramework.dll verweist. Würdest Du die Ordner, in denen sie erstellt wurden, überprüfen?

    Siehe dazu: ADO.NET EF6: release gets error and debug running fine

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 6. Februar 2015 12:29
    Moderator
  • Hallo M Sauter,

    Bist Du weitergekommen? Ist der Thread noch aktuell?

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 16. Februar 2015 08:55
    Moderator