2010-07-01 3 views

Répondre

1

je me suis aidé par une classe dans la base de données du projet qui a une fonction getAppSetting:

Public NotInheritable Class Helper 
    Private Sub New() 
    End Sub 

    Public Shared Function getAppSetting(ByVal key As String) As String 
     Dim returnValue As Object = My.Settings(key) 
     If returnValue Is Nothing Then 
      Return String.Empty 
     Else 
      Return returnValue.ToString 
     End If 
    End Function 
End Class 

je peux appeler cette fonction de mon autre projet pour obtenir F.E. le ConnectionString.

+0

Mieux vaut au-delà du cadre de l'autre ensemble. Cela supprime la dépendance entre les deux assemblys et vous permet de modifier l'implémentation du projet de base de données, si nécessaire. – AMissico

1

Avez-vous essayé de regarder quelque chose comme le System.Configuration.ConfigurationManager, je sais que cela fonctionne pour les applications Web, pas sûr de projets de base de données.

Ensuite, vous pourriez obtenir votre chaîne de connexion avec une commande comme:

ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 

http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx

+0

Mon projet de base de données est une bibliothèque de classes. Le fait est que je ne savais pas comment accéder à ses AppSettings à partir d'un autre ddl. Ma solution de contournement avec une fonction publique qui renvoie cela fonctionne. Je pense qu'il n'est pas possible d'accéder aux AppSettings (My.Settings dans .Net 2.0) à partir d'une autre DLL (peut-être à cause de problèmes de sécurité). –

+0

J'ai essayé follwing sans succès: http://www.knowdotnet.com/articles/accessappconfigfromdll.html (la section est rien donc j'ai eu une exception NullReferenceException) –

+0

Salut Tim, je pense que vous devriez être en mesure d'exposer votre paramètre de la DLL avec les paramètres d'une manière similaire à votre réponse, mais avez-vous considéré peut-être simplement avoir vos paramètres contre votre EXE à la place? C'est une bonne raison pour laquelle; http://stackoverflow.com/questions/594298/c-dll-config-file/1009227#1009227 –

Questions connexes