2

我正在努力满足客户的要求,即我正在编写的 Windows 窗体应用程序将安装到 C:\program files\xxx 并将在一个没有写入权限的帐户下运行 c:\program files\xxx 目录. 因此,这意味着我的配置文件需要位于另一个位置,以便用户可以对其进行手动更改,而我的应用程序可以对其进行更改。

我无论如何都找不到这样做?我希望我可以使用 configSource 但这有一些限制,即外部配置文件应该与应用程序位于相同的相对物理路径,这对我没有好处。appSettings 文件属性会起作用,但这仅适用于该配置部分。我使用其他配置部分,如连接字符串和 system.serviceModel。对我的选择有什么想法吗?

谢谢!

4

2 回答 2

5

应用程序设置框架自动处理用户范围的设置。

您可以将默认设置放在app.Config文件中,并提供一种机制(在您的程序中)来编辑设置。任何编辑都将自动写入用户文档文件夹(他们拥有写入权限)中的用户特定设置文件中。没有必要让app.Config每个用户都可以直接写实际。

只需在元素中包含“可写”设置默认值<userSettings>,框架就会按照正确的 Windows 指南为您处理所有内容。

于 2012-08-29T17:18:51.170 回答
0

试试下面的代码

    私有静态 XmlDocument loadConfigDocument()
    {
        XmlDocument 文档 = null;
        尝试
        {
            doc = new XmlDocument();
            doc.Load(getConfigFilePath());
            返回文件;
        }
        捕捉(System.IO.FileNotFoundException e)
        {
            throw new Exception("没有找到配置文件。", e);
        }
    }

    私有静态字符串 getConfigFilePath()
    {
        返回 Assembly.GetExecutingAssembly().Location + ".config";
    }

于 2012-08-29T17:23:58.383 回答