簡體   English   中英

ConfigurationManager未將ConnectionString保存在App.config中

[英]ConfigurationManager not saving ConnectionString in App.config

我正在嘗試以編程方式更新App.config文件中的連接字符串。

我可以完美地讀取該值,但是由於某種原因我似乎無法更新該值。

我的App.config看起來像這樣:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="TPAPI.Properties.Settings.TruePotentialConnectionString"
    connectionString="Data Source=(local);Initial Catalog=TruePotential;User ID=sa;Password=password"
    providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

我可以這樣閱讀:

txtConnectionString.Text = System.Configuration.ConfigurationManager.ConnectionStrings["TPAPI.Properties.Settings.TruePotentialConnectionString"].ConnectionString;

但是,當我嘗試寫一個新值時,什么也沒有發生。

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        config.ConnectionStrings.ConnectionStrings["TPAPI.Properties.Settings.TruePotentialConnectionString"].ConnectionString = txtConnectionString.Text;
        config.Save(ConfigurationSaveMode.Modified, true);
        ConfigurationManager.RefreshSection("connectionStrings");

任何人都可以看到我在做什么錯嗎?

我不確定這是否是您遇到的同樣問題,但是如果您希望您可以閱讀一會兒,這不是我自己的答案。

學分:
https://stackoverflow.com/a/13133034/3239917

我認為正在發生的情況是您正在Visual Studio中進行測試,它將App.Config復制到Debug / Release目錄中,並將其重命名為YourApplication.vshost.exe.config,每次啟動應用程序時都會重置該文件。 嘗試在Visual Studio外部運行可執行文件,該可執行文件將使用YourApplication.exe.config文件,然后查看是否適用於您。 您的代碼對我有用,如果我在Visual Studio之外運行它,則保留在應用程序重新啟動時所做的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM