如何在安装安装文件后接受app.config文件中的用户更改?

时间:2011-08-20 11:56:53

标签: c#

我创建了一个c#windows应用程序设置。然后安装在用户系统中 我想接受来自app.config文件的更改,该文件是我的用户更改图像文件夹位置。我的exe文件第一次接受更改我在appsettings中修改的位置。

问题是它不接受app.config文件中的用户更改。为什么会这样?我的设置创建有什么问题? 请验证此代码并为此提供合适的示例。

这是我的代码

     <appsettings>
          <add key="SQLCN" value="Data Source=localhost;Initial    Catalog=MyDB;Integrated Security=True" />
     <add key="IMGFOLDER" value="D:\\ImageFolder" />
     </appsettings> 

     private void SaveToIsolatedStorage(XDocument document, string file)
     {
         // Open the stream from IsolatedStorage.
         IsolatedStorageFileStream stream = new IsolatedStorageFileStream(file, FileMode.Create, GetUserStore());
         using (stream)
         {
             using (StreamWriter writer = new StreamWriter(stream))
             {
                 document.Save(writer);
             }
         }
     }

     fldr = ConfigurationSettings.AppSettings["IMGFOLDER"];

     Formload()
     {
         NewImageFolderCreation();
         PopulateTreeview();
     }

     btnImagesave()
     {
         SaveImageAfterConvertion();
     }

     private void NewImageFolderCreation()
     {
         if (!System.IO.Directory.Exists(fldr))
         {
             System.IO.Directory.CreateDirectory(fldr);
             MessageBox.Show("folder created");
         }
         else
         {
             MessageBox.Show("ImageFolder is available populate images into   folder");
         }
     }  

     private void POpulateTreeview()
     {
         DirectoryInfo info = new DirectoryInfo(fldr);
         TreeNode root = new TreeNode(info.Name);
         root.Text = "";

         //eng = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false);   
         //eng.Startup(null, null, null, null);

         TreeNode node = new TreeNode();
         TrvImageFile.Nodes.Add(root);
         FileInfo[] subfileinfo = info.GetFiles("*.*");

         if (subfileinfo.Length > 0)
         {
             for ( j = 0; j < subfileinfo.Length; j++)
             {
                 root.Nodes.Add(subfileinfo[j].Name);
             }
         }

         TrvImageFile.ExpandAll();
     }

     SaveImageAfterConvertion()
     {
         if (!System.IO.Directory.Exists(fldr))
         {
             System.IO.Directory.CreateDirectory(fldr);

             doc.Save(ConfigurationSettings.AppSettings ["SaveImagefolderPath"] + "\\" + Newtxtfilename + ".txt", 
                 Leadtools.Forms.DocumentWriters.DocumentFormat.Text, null);

             MessageBox.Show("folder created and image output saved");
         }
         else
         {
             doc.Save(ConfigurationSettings.AppSettings["SaveImagefolderPath"] + "\\"  +Newtxtfilename + ".txt", 
                 Leadtools.Forms.DocumentWriters.DocumentFormat.Text, null);

             MessageBox.Show("ImageFolder is available  images are  Saved into folder Now");
         }    
     }

1 个答案:

答案 0 :(得分:2)

配置文件的重点是您无需重新编译即可进行更改。

当涉及到winforms时,您需要确保更改了正确的配置文件(它很少被命名为app.config - 它通常是<name of app>.exe.config

您在visual studio中看到的app.config文件是模板 - 在编译应用程序时,它将被复制到输出文件夹并重命名为<name of app>.exe.config。这是应该更改的文件。

用户通常需要退出应用程序并重新启动,以便更改配置设置。