2011-05-11 76 views
2

此問題與Winform應用程序部署和配置有關。安裝Winform應用程序配置

我是.NET新手,我正在開發我的第一個Winforms應用程序。每當我部署應用程序,我需要設置用戶將連接的服務器的值。

爲此,我必須進入程序文件並使用記事本手動更改應用程序配置文件。

不僅我聽說這不是一個好習慣,它也是一個乏味的練習。想象一下,有六個用戶會在每臺機器上做同樣的事情。

我很困惑該怎麼做。與exe文件位於同一文件夾中的應用程序配置文件是我可以更改連接字符串的文件(正如我所理解的那樣)。

任何人都可以幫助我解決以下問題。

  1. 如何在安裝之後更新應用程序配置文件,而無需在記事本中打開它?我主要關心的是更新連接字符串。

  2. 我聽說在這種情況下使用註冊表是可能的。我害怕使用註冊表!這是一個選項嗎?

如果問題太天真,請原諒我的無知。我是新來的.NET和尋找答案

感謝 羅米

回答

1

嗨羅米這裏是一段代碼,可以幫助你在讀/右應用配置

寫在

 System.Configuration.Configuration config = 
    ConfigurationManager.OpenExeConfiguration 
       (ConfigurationUserLevel.None); 

    // Add an Application Setting. 

    config.AppSettings.Settings.Add("ModificationDate", 
        DateTime.Now.ToLongTimeString() + " "); 

    // Save the changes in App.config file. 

    config.Save(ConfigurationSaveMode.Modified); 

    // Force a reload of a changed section. 

    ConfigurationManager.RefreshSection("appSettings"); 

閱讀

foreach(string key in ConfigurationManager.AppSettings) 
    { 
     string value = ConfigurationManager.AppSettings[key]; 
     Console.WriteLine("Key: {0}, Value: {1}", key, value); 
    } 

我的建議:如果您保存了幾個不是連接字符串的設置,請使用上面的代碼。只需創建一個簡單的表單,創建一個字典填充它並使用網格控件顯示它。

如果你只需要讀/寫連接字符串使用下面的代碼

閱讀

string cnx =  ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

 ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString=" your conenction string here"; 

config.Save(ConfigurationSaveMode.Modified);

// Force a reload of a changed section. 

    ConfigurationManager.RefreshSection("ConnectionString"); 

您仍然可以使用註冊表來保存這些設置,但我相信上面的代碼將解決您的問題。

+0

感謝您的回覆。現在,我可以創建一個表單,作爲主應用程序的一部分,或者作爲一個表單部署後接受服務器名稱,連接到相同的連接成功,然後使用代碼將其保存到配置文件中提供了。那會是這個想法嗎?對? – Romi24 2011-05-12 05:56:41

+0

當然,爲什麼不呢,你可以用代碼做很多事情,它真的很有用。你甚至可以保存多個連接字符串,只需用下面一行中的引號替換名稱:ConfigurationManager.ConnectionStrings [「替換此」]。 – 2011-05-15 17:36:54

相關問題