C# .NET6 引用嵌入的 .ico 文件在 VS 中调试失败

问题描述 投票:0回答:0

我的 VS C# .NET6 WPF 项目的资源目录中有一个有效的多尺寸 .ico 图像文件。该资源文件被标记为

Embedded resource
以包含在二进制文件中。

我尝试明确引用它

Uri iconUri = new Uri("pack://application:,,,/Resources/iconfile.ico");
this.Icon = BitmapFrame.Create(iconUri);

项目中没有编译错误。 第二行在 VS 2022 调试器中给出了运行时错误:

System.IO.IOException: Cannot locate resource 'resources/iconfile.ico'.

请您帮我理解为什么这个资源组件对代码不可见。

ChatGPT 和论坛档案没有对此做出任何解释。

附注它似乎没有抱怨邻居 .png 文件(也标记为嵌入式资源),我直接在 XAML 文件中引用该文件,并使用类似的 URI 作为

Source
代表
<Image>
。最初,我也在 XAML 中引用了 .ico 文件,将其分配为
Icon
中的
<Window>
,但我对
InitialiseComponent();
遇到了相同的运行时错误,因此我决定在
.cs
中显式引用它并获得相同的效果。

我还注意到我的 .ico 文件对于 256x256 尺寸是基于 PNG 的,对于所有其他尺寸是基于 BMP 的...这与这个问题有什么关系吗?

c# .net wpf .net-6.0 embedded-resource
© www.soinside.com 2019 - 2024. All rights reserved.