从解决方案中的其他项目访问MySettings
是否可以访问当前项目中引用的其他DLL的My.Settings?我有一个Database项目,其中存储了ConnectionString的Settings。我需要在其他项目(用于日志文件)中访问此设置。从解决方案中的其他项目访问MySettings
我已经在数据库项目具有功能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
我可以从我的其他项目获得F.E.调用这个函数ConnectionString。
您是否试过寻找类似System.Configuration.ConfigurationManager
的东西,我知道它适用于网络应用程序,不确定数据库项目。
然后,你可以用以下命令得到你的连接字符串:
ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx
我的数据库项目是一个类库。关键是我不知道如何从不同的ddl访问它的AppSettings。我的解决方法是使用返回它的公共函数。我认为它不可能从另一个dll访问AppSettings(.Net 2.0中的My.Settings)(可能是出于安全考虑)。 – 2010-07-01 16:11:38
我已经尝试follwing没有成功:http://www.knowdotnet.com/articles/accessappconfigfromdll.html (节没什么,所以我得到一个NullReferenceException) – 2010-07-01 16:22:23
您好蒂姆,我认为你应该能够暴露你的设置从DLL的设置与您的答案类似,但您是否考虑过可能只是针对您的EXE进行设置? 这是一个很好的理由, http://stackoverflow.com/questions/594298/c-dll-config-file/1009227#1009227 – 2010-07-02 15:18:55
更好的是过去的设置到其他组件。这将消除两个程序集之间的依赖关系,并允许您根据需要更改数据库项目的实现。 – AMissico 2010-07-03 06:22:23