我在哪里放置我的C#应用​​程序中使用的文件夹?

时间:2015-11-10 05:30:38

标签: c# .net visual-studio

我计划在我的C#应用​​程序上安装一个名为Data的文件夹,只要程序启动就会重复使用。我把它放在我的Visual Studio解决方案的根目录中,这使它成为你在下面看到的地方

 MyProject (File folder)
     bin (File folder)
         Debug (File folder)
             MyProject (Application)
             .
             .
     Data
     obj  
          .
          . 
     .
     .
在项目建成之后

......但是我猜测我想要它在实际应用程序的位置,对吗?或者对我来说,如果没有"创建,如果不存在"在我的应用程序中的该文件夹?对不起,如果这被认为是一个主观问题。

3 个答案:

答案 0 :(得分:2)

1)你可以在程序开始时检查它,如果它不存在,那么你可以创建它。 右键单击visual studio中的SOlution>>添加新项目>>在其他项目类型下>>选择>>设置和部署>> Visual Studio安装程序>>设置项目。

在许多情况下,安装项目很重要,当您需要对首次安装进行任何更改或需要修改注册表时,需要首次复制某些数据文件夹或其他设置。

2)创建一个安装项目,在您的安装项目中,您可以创建该数据文件夹,该文件夹将在用户安装应用程序时创建。

我更愿意使用这两个选项来避免将来出现任何问题。

答案 1 :(得分:1)

从您的示例中看,您在应用程序/解决方案资源管理器中创建的数据文件夹。到目前为止一直很好,但它不会在你的项目中创建。

如果您希望它与您的应用程序位于同一目录中,则有2个选项。

  1. 您稍后会在解决方案资源管理器中创建一个.txt文件或其他任何内容,并在属性中说“始终复制”
  2. 您是否在程序中手动创建文件夹。您的计划的基本位置通常为AppDomain.CurrentDomain.BaseDirectory。因此,您可以使用Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + folderName)
  3. 对于2,这可以在程序的每次运行中完成(如果目录尚不存在,或者如果您有特殊的设置例程,则在程序设置时)。

    据我所知,所有这些变体都是合法的,并且取决于您的确切用例和个人品味。

答案 2 :(得分:1)

  

我猜我想要它在实际应用的位置,对吗?

不!我们假设您最终将此程序捆绑到安装程序中,并将其放入其自己的Program Files文件夹中。 标准用户对Program Files文件夹下的任何内容都没有写入权限!。您只是强制程序在每次运行时都要求管理员权限。

相反,您需要将数据文件夹放在Application Data特殊文件夹中:

Test Files

1 New line added
2 Other new line added

-- My favourite colour is : Green
相关问题