2009-06-01 6 views
0

Je rencontre un problème étrange lors du déploiement lorsque j'essaie d'utiliser Data Access Application Block 4.1 de Microsoft Enterprise Library. Je reçois l'exception non gérée suivant lorsque vous essayez d'utiliser l'élément de l'application Web qui utilise le DAAB:Erreur d'exécution sur un projet déployé à l'aide de DAAB 4.1

Exception information: 
Exception type: BuildFailedException 
Exception message: The current build operation (build key Build Key[Microsoft.Practices.EnterpriseLibrary.Data.Database, DBNAME]) failed: The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Data.Database' threw an exception. (Strategy type ConfiguredObjectStrategy, index 2) 

Mon web.config a la section suivante pour connectionStrings:

<connectionStrings configSource="data.config" /> 

et les données. config contient une entrée pour le DBNAME référencé dans l'exception:

<?xml version="1.0"?> 

<connectionStrings>` 

<add name="dbname" 
    providerName="System.Data.SqlClient" 
    connectionString="[valid information here]" /> 

</connectionStrings> 

Je sais la chaîne de connexion est valide parce que les parties de l'application qui ne sont pas en utilisant D AAB pour l'accès aux données utilisent la même chaîne de connexion sans problèmes. De plus, les choses fonctionnent bien sur ma machine de développement, ainsi que sur les machines des autres développeurs. Cela ne se produit que lors du déploiement sur les serveurs de production et n'est même pas spécifique à la version "release" puisque cette version fonctionne bien sur ma machine locale.

Je soupçonne que c'est probablement un problème de configuration avec les serveurs de production, mais je n'ai pas réussi à comprendre ce que cela pourrait être. L'article MSDN sur le déploiement de la bibliothèque d'entreprise mentionne qu'un déploiement xcopy des assemblys devrait fonctionner et je les inclut dans le dossier/bin, donc je ne suis pas sûr de savoir où aller à partir de là. Des idées?

Répondre

0

Enfin compris cela. Enterprise Library 4.1 nécessite Framework 3.5 et même si nous ciblons toujours Framework 2.0 pour notre application, 3.5 est installé sur nos machines de développement en vertu de l'utilisation de Visual Studio 2008. Toutefois, Framework 3.5 n'a pas été installé sur nos serveurs de production. problème a disparu après cela. Le problème est que je cible explicitement le 2.0 pour la compilation dans tous les projets de ma solution, y compris celui qui repose sur la bibliothèque d'entreprise, donc on pourrait penser que le référencement d'un assembly qui nécessite 3.5 produirait au moins un avertissement sur compilation. Tant pis.

1

Eh bien, il vous donne un avertissement lorsque vous ajoutez les références. C'est au moins comment il s'est comporté sur ma machine. Vous n'avez donc pas de base solide pour votre plainte. :)

Cependant, le message d'exception est totalement ambigu, donc merci pour l'info.

Questions connexes