关于绝对路径的两个基本问题

Two basic questions about absolute path

  1. 如何获取嵌入资源中文件的绝对路径?
  2. 如果我把我的图片放在一个文件夹里,然后使用绝对路径访问它们,我在构建解决方案后找不到它们,对吧?(因为构建的解决方案没有其开发环境的环境)
  1. 嵌入资源中的文件并没有真正的绝对路径,因为它包含在您的应用程序中。 我假设您正在寻找访问这些文件的方法,this 可能会有用。

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

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

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