首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET设置相对路径

.NET设置相对路径
EN

Stack Overflow用户
提问于 2008-11-12 14:17:30
回答 5查看 1.6K关注 0票数 0

我正在处理一个应用程序,其中我有一个图像文件夹相对于我的应用程序根。我希望能够在属性->设置设计器中指定此相对路径。“\图像\”。我遇到的问题是在Environment.CurrentDirectory通过OpenFileDialog更改的情况下,相对路径不能解决到正确的位置。是否有一种方法可以在Settings文件中指定一个路径,它意味着始终从应用程序目录开始,而不是当前目录?我知道我总是可以动态地将应用程序路径连接到相对路径的前面,但是我希望我的Settings属性能够自己解决问题。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-11-12 14:24:51

据我所知,没有任何内置的功能将允许这种类型的路径解析。最好的选择是动态确定执行目录的应用程序,并将图像路径连接到它。由于提到的原因,您不想特别使用Environment.CurrentDirectory --在这种情况下,当前目录可能并不总是正确的。

找到正在执行的程序集位置的最安全的代码是:

代码语言:javascript
复制
public string ExecutingAssemblyPath()
{
   Assembly actualAssembly = Assembly.GetEntryAssembly();
   if (this.actualAssembly == null)
   {
      actualAssembly = Assembly.GetCallingAssembly();
   }
   return actualAssembly.Location;
}
票数 1
EN

Stack Overflow用户

发布于 2008-11-12 14:25:55

你在找Application.ExecutablePath吗?这将告诉您应用程序的可执行文件在哪里,删除可执行文件的名称,然后追加您的路径。

票数 1
EN

Stack Overflow用户

发布于 2009-01-28 12:36:46

这似乎同时适用于WinForms和ASP.NET (给出了配置文件的路径):

代码语言:javascript
复制
new System.IO.FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile).Directory;

对于Windows和控制台应用程序,最明显的方法是使用:

代码语言:javascript
复制
Application.StartupPath
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/284061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档