2010-08-15 4 views
1

Modifié pour ajouter une solution: a été modifié pour utiliser le constructeur qui utilise Microsoft.Xrm.Client.CrmConnection plutôt qu'une chaîne de connexion String et cela fonctionne.Impossible de charger la chaîne de connexion à l'aide du contexte de données xRM

J'ai utilisé crmsvcutil.exe pour générer le contexte de données pour notre environnement crm. Lorsque j'essaie d'initialiser la connexion. Cette ligne: CSIDataContext publique (nom global :: System.String) : base (nom)

lance cette erreur: Impossible de charger le nom de chaîne de connexion « authentification de type = AD; Serveur =/reste de la chaîne conn est ici/'

Ce code réside dans un projet de bibliothèque de classes BizLayer et est appelé à partir d'un projet de test de formulaire win. Si la classe d'entités générées et le code appelant sont dans le même projet, je ne reçois pas cette erreur.

Répondre

0

Il semble que vous transmettiez la chaîne de connexion complète dans le constructeur plutôt que le nom de la chaîne de connexion dans le nœud connectionStrings du fichier app.config/web.config. La chaîne de connexion XRM est très similaire à une chaîne de connexion ADO.NET car elle réside dans l'élément dans app.config/web.config. Donc, vous auriez normalement placer la chaîne de connexion complète dans votre config avec un nom comme ceci:

<connectionStrings> 
    <add name="XrmConnectionString" connectionString="Authentication Type=AD; Server=http://server.com; User ID=Domain\Username; [email protected]$$w0RD"/> 
</connectionStrings> 

Ensuite, lorsque vous voulez initialiser le contexte XRM, vous fournissez simplement le nom de la chaîne de connexion:

var dataContext = new XRMDataContext("XrmConnectionString"); 

Essayez cela et voyez si cela fonctionne pour vous.

Questions connexes