检查右侧文件夹中的.config文件

时间:2011-03-25 09:00:37

标签: c# config

当我打开nfo文件时,我在C#中创建了一个读取文本文件(.nfo文件)的程序。 (与我的exe文件关联的.nfo文件)。

程序检查配置文件,如果缺少,则创建一个新文件。

如果我手动运行exe文件,然后从程序内部打开一个nfo文件,这样可以正常工作。当我双击一个nfo文件时,程序启动,但是所有的配置文件都写在与nfo文件相同的文件夹中。

我希望程序只检查与exe文件在同一文件夹中的配置文件。我希望exe文件也是独立于文件夹的。

以下是配置检查/写入的代码:

string configFil = "XnfoReader.exe.Config";
StreamWriter sw = null;
string configText = @"<?xml version=""1.0"" encoding=""utf-8"" ?>"

if (!File.Exists(configFil))
{
    FileStream fs = File.Open(configFil, FileMode.CreateNew, FileAccess.Write);
    sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
    sw.WriteLine(configText);
    sw.Close();
    sw = null;
}

我在这里有道理吗?

1 个答案:

答案 0 :(得分:1)

解决方案非常简单 - 对你来说很难 - 但不是很明显。实际上,您只需输入配置文件的名称,因此应用程序会添加当前路径以获取配置文件的完整路径。
这是你的问题,因为你以前在其他位置打开一个nfo文件,当前路径成为nfo文件的路径。
因此,解决方案是直接将完整路径放到配置路径中,为此可以使用:

string fullPathToConfigFile = Assembly.GetEntryAssembly().Location + ".config"