代码之家  ›  专栏  ›  技术社区  ›  HardCode

带下划线的应用程序数据文件夹和公司名称

  •  1
  • HardCode  · 技术社区  · 16 年前

    我的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日):

    在Windows7上,这似乎是一个更大的问题(至少-可能是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设置创建自己的文件夹 强调。

    4 回复  |  直到 14 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    这个 LocalFileSettingsProvider 类默认负责在.NET中存储配置设置。默认情况下,它似乎为所有托管应用程序添加了下划线——我在本地设置目录中的几个应用程序中都看到了它。如果你真的关心这个名字,你可以:

    1. 使用中描述的技术 Changing the .NET application configuration file name 问题。
    2. 使用驼峰大小写作为公司名称。
        2
  •  0
  •   pm100    16 年前

    我会使用reflector来检查首先将u放在那里的代码,看看里面是否有ifs

        3
  •  0
  •   Christian Hayter    16 年前

    你的公司名称中有空格吗?我知道文件夹名中的空格是完全可以接受的,但可能是VB2008太聪明了一点,“把你从自己身上解救出来”。

    My Project\Settings.designer.vb 文件。您可以在其中找到生成名称的代码,并可以手动修改它。我会检查自己,但我要到明天才能拿到VB 2008的副本。:-)

        4
  •  0
  •   bytebender    16 年前

    AssemblyInfo.cs 你的公司名称是什么?它有下划线吗?