我正在WPF中创建一个应用程序。
因为我使用XML文件来存储一些设置。
我的应用每10秒运行一次。因此它将使用该XML文件设置。
我的问题是在我的本地系统中,我将XML文件称为D://Foldername/projectname/test.xml。 但部署后,它存储在C://Programfiles/Projectname/test.xml。
那么如何给出一个通用路径,以便它在所有客户端系统中运行。 我正在创建安装文件以在客户端系统中安装。 请帮帮我。
答案 0 :(得分:1)
Properties.Settings.Default.MyPath
。如果打开应用程序配置,将会有一个名为MyPath的设置,您可以在运行时覆盖该路径。
答案 1 :(得分:0)
我建议您将XML文件放在与EXE文件相同的文件夹中,然后使用Assembly
获取其当前路径。
var cfgPath = Assembly.GetExecutingAssembly().Location + ".config"
<强>更新强>
最好将您的配置文件命名为与您的exe文件相同但使用&#34; .config&#34;扩展
答案 2 :(得分:0)
如果您真的使用 ClickOnce ,我几乎不建议您为数据和配置文件创建自己的目录:
private static string GetDataDir()
{
var dataDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"YourApplicationName");
if (!Directory.Exists(dataDir))
Directory.CreateDirectory(dataDir);
return dataDir;
}
将数据存储在可执行文件的目录中的问题是,它将位于不同的位置。在调试时,它将在您的\bin
目录中。当应用程序由 ClickOnce 部署时,您将度过一段美好时光。将为每个版本创建ClickOnce应用程序的安装目录。因此,如果您 EVER 在“客户”处更新您的应用,则其所有设置都将丢失。