让多个程序集访问同一个文本文件

时间:2008-09-19 11:38:24

标签: c# .net file file-io filesystems

我在同一个c#/ .net解决方案中有很多程序集/项目。需要使用Web应用程序gui保存设置,然后控制台应用程序和一些测试项目需要访问同一文件。我应该把文件放在哪里以及如何访问它?

我尝试过使用“AppDomain.CurrentDomain.BaseDirectory”,但最终会因我的程序集而异。 “System.Reflection.Assembly.Get * Assembly.Location”也无法满足我的需要。

也许这不是我应该在文件中,而是数据库?但是对于几行配置来说,感觉非常复杂。

4 个答案:

答案 0 :(得分:3)

将文件放入

    Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
        "[Company Name]\[Application Suite]");

答案 1 :(得分:1)

就个人而言,我会利用数据库,因为替代方案要么是配置问题,要么是比它的价值更麻烦。

可以将每个应用程序配置为指向同一个文件,但如果您想移动该文件,则会出现问题。或者您可以编写一个服务来管理文件并将其公开给客户,但此时您也可以使用数据库。

答案 2 :(得分:0)

考虑将其存储在注册表或独立存储中?但是,不确定多个应用程序是否可以共享隔离存储。

答案 3 :(得分:0)

项目可以有构建事件 - 为什么不添加构建后事件来将文件复制到所有必需的位置?