【问题标题】:Two basic questions about absolute path [duplicate]关于绝对路径的两个基本问题[重复]
【发布时间】:2018-02-09 23:02:55
【问题描述】:
  1. 如何获取嵌入式资源中文件的绝对路径?
  2. 如果我将图像存储在一个文件夹中并使用绝对路径访问它们,我构建解决方案后找不到它们,对吗?(因为构建的解决方案没有其开发环境的环境)

【问题讨论】:

  • 一个embedded资源嵌入在app exe中,这就是为什么它们被称为embedded
  • 你应该在你尝试了一些东西并且被卡住之后来这里提问。例如,您的第二个问题应该是这样的:“我已将图像存储在一个文件夹中,并尝试使用绝对路径通过代码访问它们,但我无法找到它们。如何访问文件系统获取我存储的图像?这是我的代码:// some code here。"
  • @RufusL 不是。那是关于整个项目中的“资源”。但我问的是资源中的文件。
  • @RufusL 实际上,我从互联网上尝试了很多方法,但它们对我不起作用。

标签: c# absolute-path


【解决方案1】:
  1. 嵌入资源中的文件实际上并没有绝对路径,因为它包含在您的应用程序中。 我假设您正在寻找访问这些文件的方法,this 可能会有用。

  2. 您可以修改图像的“复制到输出目录”属性以将它们复制到 bin 文件夹,但这可能不是您想要的。然后你可以使用反射来访问文件,虽然我不确定这是否是最有效的方法:

var executingAssemblyPath = Assembly.GetExecutingAssembly().Location;
var directory = Path.GetDirectoryName(executingAssemblyPath);
var imagePath = Path.Combine(directory, "image.gif");

Assembly.GetExecutingAssembly 有 2 种替代方案,根据您的部署环境,它们可能更强大:

【讨论】:

  • 感谢您的第一个回答。而对于第二个,如果我设置了那个属性,我应该怎么写路径?
  • 最好知道这是什么类型的项目,知道您将在什么环境中访问此图像。
  • 基本的窗体应用程序
  • 我已经更新了我的答案。
  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2016-04-06
  • 1970-01-01
  • 2018-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多