2013-03-19 68 views
0

好吧,我試圖編寫一個服務和配置應用程序。 VB/C++ 2010我在谷歌上有很多點擊,但它們很大程度上似乎已經過時。到目前爲止,我所擁有的只有一個表單應用和一個服務應用。單質的形式的應用程序有一個「的app.config」文件,我已經添加了一個節:多個應用程序單個配置文件

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

在我添加了一個「的settings.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以其慣用的時尚風格似乎只能提供2012年的樣本,淨含量4.5或更高。我需要這個工作在2003服務器(以及),所以我只限於網絡4.0

請幫助。

回答

1

這裏的問題是行System.Configuration.ConfigurationManager.AppSettings("ConnectionString")正在您的應用程序的app.config文件中尋找關鍵ConnectionString

事實上,你已經在你的app.config文件中包含了file鍵,並不奇怪地告訴ConfigurationManager從另一個文件加載設置。如果這是你想要的,你將不得不讀取file密鑰的設置,然後從該文件手動加載配置。

自從.Net的早期版本以來,這並沒有改變,但我不確定爲什麼你會被示例衝突。

+0

Miky使用connectionStrings section,把它歸結爲頭在其他的事情,被鏽蝕,不看到樹木的木材。我現在要這樣,只是得到的語法 – 2013-03-19 14:21:57

+0

好吧,走的路(經過太多搞砸)是一個單獨的配置文件,具有在Windows應用程序數據文件夾中的自定義部分和類。該文件夾是由公司名稱和應用程序名稱定義的,並且可以通過文件觀察器從常見的dll訪問以提供自動更新 – 2013-03-22 19:33:37

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; 
相關問題