【问题标题】:How to read file in windows application root directory in C#.net?如何在 C#.net 中读取 Windows 应用程序根目录中的文件?
【发布时间】:2012-09-02 15:15:45
【问题描述】:

如果我使用 Application.StartupPath 或 AppDomain.CurrentDomain.BaseDirectory 它在 bin\debug 文件夹中搜索文件 但我必须在 mac # .net 项目中使用我的根目录“Resources\imagefile.png”中的文件夹!

Filestream fs;
fs = new Filestream(AppDomain.CurrentDomain.BaseDirectory + "folder\\imagefile.png");

那么应该如何编写代码来从我的根目录读取文件,尽管使用上面的代码或目录的完整路径是“@C:.......”,甚至 Server.MapPath 是我们不能使用。

获取我的应用程序路径,但这给出了类似的东西 C:\Projects\XYZ\ABC\bin\Debug

我不想要 bin\Debug 。有什么方法可以实现吗?

【问题讨论】:

标签: c# .net winforms filestream windows-applications


【解决方案1】:

通过使用 Environment.CurrentDirectory

string yourpath = Environment.CurrentDirectory + @"\YourImage.jpg";
FileStream stream = new FileStream(yourpath, FileMode.Open, FileAccess.Read);
Image image = Image.FromStream(stream);
stream.Close(); 

【讨论】:

  • 改用Path.Combine(Environment.CurrentDirectory, "YourImage.jpg")
  • 自 VS2017 15.6 Environment.CurrentDirectory 将返回可执行文件的目录。
【解决方案2】:

通常,您会将这些项目设置为复制到 bin 文件夹中。右键单击解决方案资源管理器/导航器,选择属性并将“复制到输出目录”设置为不同的内容。

【讨论】:

  • 如果我将该文件从我的文件夹复制到输出目录,但我应该如何读取我的根文件夹!那么如果我要为 ma 程序制作一个安装文件,那么我可以从 ma 程序中检索这些文件吗??
  • “根文件夹”是什么意思? .exe 所在的文件夹?
  • 没有它在我运行解决方案的 bin 文件夹之外的位置
猜你喜欢
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 2012-03-09
  • 1970-01-01
相关资源
最近更新 更多