我创建了一个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");
}
}
答案 0 :(得分:2)
配置文件的重点是您无需重新编译即可进行更改。
当涉及到winforms时,您需要确保更改了正确的配置文件(它很少被命名为app.config
- 它通常是<name of app>.exe.config
。
您在visual studio中看到的app.config
文件是模板 - 在编译应用程序时,它将被复制到输出文件夹并重命名为<name of app>.exe.config
。这是应该更改的文件。
用户通常需要退出应用程序并重新启动,以便更改配置设置。