如何在C#项目中设置Images目录的相对路径?

nzd*_*dev 3 c# relative-path

我正在研究C#项目我需要使用相对路径从Images目录中获取图像.我试过了

var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + @"\Images\logo.png";
var logoImage = new LinkedResource(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)+@"\Images\logo.png")
Run Code Online (Sandbox Code Playgroud)

但是这些没有运气......我已经让图像在程序运行时被复制到输出目录但它没有拾取那些图像.

小智 9

如果您在C#中使用LinkedResource(),则很可能不会获取您的相对URI或文件位置.

您可以使用一些额外的代码

var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var logoimage = Path.Combine(outPutDirectory, "Images\\logo.png");
string relLogo = new Uri(logoimage).LocalPath;
var logoImage = new LinkedResource(relLogo)
Run Code Online (Sandbox Code Playgroud)

现在它将拾取您的相对路径,将其转换为内存中的绝对路径,它将帮助您获取图像.