Beim Versuch, eine Instanz des Typs Datenbank, Schlüssel "" - leer zu bekommen, ist ein Aktivierungsfehler aufgetreten

9

Ich probiere die Enterprise Library 5.0 aus und mache einige Komponententests auf meinem BL. Muss ich eine app.config auf dem DL oder auf dem Test-Projekt haben?

Hinweis: Ich habe bereits die Konfigurationseinstellungen in meiner web.config in meinem Webprojekt.

Wie verwende ich den DAAB:

%Vor%

meine app.config auf DL:

%Vor%     
Martin Ongtangco 27.10.2010, 06:13
quelle

7 Antworten

0

Ich habe auf die falsche DLL-Kopie verwiesen. es funktioniert jetzt.

    
Martin Ongtangco 28.10.2010, 05:25
quelle
2

Um andere Gründe hinzuzufügen.

Ich hatte eine VS2010-Lösung / csproj, die auf Enterprise Library 5.0.xxxxx verweist.

Allerdings wurde der csproj auf "Target 3.5 Framework" eingestellt. So musste ich entweder das 4.0-Framework anvisieren oder auf die Version 3.5 der Enterprise Library "down" gehen.

Ich konnte mein Zielframework auf 4.0 aktualisieren, und dann verschwanden die Fehler.

Hier können Sie herausfinden, für welche Framework-Version der Code kompiliert wurde: (Powershell-Miniskript)

%Vor%

Wenn Sie v2.0.50727 erhalten, haben Sie Probleme mit Framework 4.0 (oder höher).

BEARBEITEN:

Ich habe diesen Fehler auch bekommen, indem ich nicht die richtigen "DbProviderFactories" definiert habe. Ich poste eine MySql-Konfiguration, die ich unter dieser URL gefunden habe: (Ich kopiere es, falls die URL in der Zukunft stirbt)

(Aus Ссылка )

%Vor%

Zuletzt:

Sobald ich diesen Fehler bekommen habe, hatte ich keinen ConnectionString (in der Konfigurationsdatei) mit dem gleichen Namen wie der defaultDatabase Wert. Aka, der einfache "taube Schädel" Fehler.

Wenn Sie möchten, können Sie diesen Sicherheitsventilcode eingeben (direkt vor dem Erstellen der Datenbank).

%Vor%     
granadaCoder 06.09.2013 21:34
quelle
1

Dies liegt an einer dll-Abweichung zwischen den GAC-DLLs (Dlls in der Assembly) und den DLLs, auf die die Anwendung verweist.

Entfernen Sie die DLLs aus der Assembly und versuchen Sie es auszuführen.

  1. Start - & gt; Führen Sie
  2. aus
  3. Geben Sie Assembly
  4. ein
  5. Entfernen Sie die DLL, für die ein Aktivierungsfehler auftritt.
  6. Setzen Sie den IIS zurück

Hoffentlich wird es Ihr Problem lösen.

    
Sujoy Roy Chowdhury 07.11.2012 09:35
quelle
0

Ich habe das gleiche Problem und ich löse es, indem ich EntLib von 5.0 auf 3.1 ändere

    
Karol Marian Słuszniak 30.08.2013 09:37
quelle
0

Wie Klassenbibliotheken können app.config-Datei haben. Es ist wirklich nicht hilfreich, wenn Sie EntLib 5.0 & amp; möchte auf die Verbindungszeichenfolge in der Klasse libarry zugreifen. Daher müssen Sie die obige Konfiguration zu allen web.config-Dateien hinzufügen, die Sie in Ihrer Lösung verwenden. Wenn Sie beispielsweise einen UI-Layer, WCF-Layer zwischen Business (Klassenbibliothek) und UI-Layer haben und der Business-Layer zwischen dem WCF-Dienst und dem DAL (Klassenbibliothek) liegt.

Hier haben Sie eine Datei web.config in jeder UI-Ebene & amp; Der WCF Server Layer, also sollten diese beiden web.config Dateien die oben genannten Einstellungen enthalten.

    
Archana 21.04.2011 12:48
quelle
0

Stellen Sie sicher, dass auf Ihrem Server der MySQL .net Connector installiert ist. Ich habe den gleichen Fehler erhalten, bis ich den Connector installiert habe. Ссылка

    
BA TabNabber 25.02.2015 16:42
quelle
-2

Ich konnte diesen Fehler in meinem DLL-Projekt beheben, indem ich den Namen der Verbindungszeichenfolge explizit im CreateDatabase-Aufruf wie folgt spezifizierte:

%Vor%

statt

%Vor%     
humbads 03.08.2011 15:41
quelle