【发布时间】:2012-03-27 00:47:49
【问题描述】:
我的 VB.NET 2008、.NET 3.5 应用程序正在使用一个 app.config,其设置定义为用户。正如预期的那样,它创建了文件夹:
C:\Documents and Settings\<user>\Local Settings\Application Data\<company name>\
在此文件夹中是应用程序存储用户设置的子文件夹。但是,公司名称的文件夹有下划线:
C:\Documents and Settings\<user>\Local Settings\Application Data\This__Is_My_Company\
此目录中的其他文件夹都没有下划线,看起来很愚蠢。有没有办法告诉应用程序创建名称中不带下划线的文件夹?
更新(2012 年 3 月 26 日):
这似乎是 Windows 7 上的更多问题(至少 - 也可能是 XP,但我已经退出 XP)。如果我使用 .NET Framework 创建文件夹(如果它不存在)...
Const TEST_FOLDER_PATH As String = "{0}\{1}"
Dim appDataFolderPath As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
Dim companyName As String = My.Application.Info.CompanyName
MessageBox.Show(String.Format(TEST_FOLDER_PATH, appDataFolderPath, companyName))
...然后它将生成一个文件夹路径没有公司名称中的下划线。奇怪的是,.NET 3.5 仍然在 \AppData\Local\ 中为用户的 app.config 设置创建自己的文件夹带有下划线。
我最终得到了一个带有下划线的文件夹,用于存放用户的 app.config 数据,还有一个没有下划线的文件夹,这样我就可以告诉第三方拼写检查器在哪里存储 user-dictionary.txt 文件。看起来我必须对公司名称进行硬编码才能将所有内容保存在一个文件夹中,或者使用两个文件夹。太棒了……
【问题讨论】:
-
使用 System.IO.Path.Combine() 以目录分隔符附加目录。
标签: .net app-config