2013-03-19 2 views
0

좋아, 서비스 및 구성 응용 프로그램을 작성하려고합니다. VB/C++ 2010 나는 구글에서 다수의 히트를 가졌지 만 대체로 쓸데없는 것 같다. 지금까지 내가 가진 것은 하나의 폼 앱과 서비스 앱을 가진 프로젝트입니다. 이다 나는 "settings.config"파일의 내용을 추가 한 솔루션에서여러 응용 프로그램 단일 구성 파일

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings file="settings.config"> 
    </appSettings> 
</configuration> 

: 단일 형태의 응용 프로그램은 "의 app.config"파일을 가지고 있는데 섹션을 추가 한

<?xml version="1.0" encoding="utf-8"?> 
<appSettings> 
    <add key="Setting1" value="This is Setting 1 from settings.config" /> 
    <add key="Setting2" value="This is Setting 2 from settings.config" /> 
    <add key="ConnectionString" value="ConnectString from settings.confg" /> 
</appSettings> 

C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.Configuration.dll에 다음을 추가했습니다.

서비스 응용 프로그램

매우 간단한 형태의 응용 프로그램에서 나는 다음과 같은 코드를 가지고있다.

Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

     Dim s As String = _ 
System.Configuration.ConfigurationManager.AppSettings("ConnectionString") 
     TextBox1.Text = s 
    End Sub 

그것은 작동하지 않는다! 이제 명확하게 나는 뭔가를 놓치고있다. 그것은 아마 아주 간단합니다. 하지만 내 제한된 이해는 이것이 내가 가지고있는 설정 파일에 의해 자동으로 구성됩니다? MS는 일상적인 helful 방식으로 2012 년 및 4.5 이상 샘플을 제공하는 것으로 보입니다. 2003 서버에서 작동하려면이 항목이 필요합니다. net 4.0으로 제한됩니다.

도움말.

답변

1

여기서 문제는 응용 프로그램의 app.config 파일에서 System.Configuration.ConfigurationManager.AppSettings("ConnectionString")ConnectionString 키를 찾고 있다는 것입니다.

file 키를 app.config 파일에 포함 시켰다는 사실을 통해 마법을 사용하여 ConfigurationManager에 다른 파일의 설정을로드하도록 지시하지 않습니다. 원하는 경우 file 키의 설정을 읽은 다음 해당 파일에서 수동으로 구성을로드해야합니다.

.Net의 초기 버전 이후로 변경되지 않았습니다. 그렇기 때문에 예제와 충돌 한 이유가 확실하지 않습니다.

+0

Miky에 connectionStrings section를 사용하는 것이 좋습니다, 녹슨 것이 아니라, 다른 것들에 머리를 내려 놓고 나무에 나무를보고. 나는 지금 그런 식으로 가고있다. 단지 문법을 얻는다. –

+0

좋아, 갈 길은 (많은 혼란에 대해) 사용자 지정 섹션과 Windows 응용 프로그램 데이터 폴더에있는 클래스와 별도의 구성 파일입니다. 폴더는 회사 이름과 앱 이름으로 종료되며 파일 감시자가있는 일반 dll에서 액세스하여 자동 업데이트를 제공합니다. –

0

것은 당신의 Add Reference Popup

.Net section에서 기존 어셈블리에 대한 참조를 추가하지만 난 당신이 설정 파일

<connectionStrings> 
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" /> 
</connectionStrings> 

string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; 
관련 문제