Uri 为 WPF 样式的 uri 抛出无效端口

Ste*_*eve 1 c# wpf uri

我正在尝试使用 wpf 样式 uri 在代码中初始化 BitmapImage 实例。

BitmapImage icon = new BitmapImage(new Uri("pack://application:,,,/MyAssembly;component/Icons/someIcon.ico", UriKind.Absolute));
Run Code Online (Sandbox Code Playgroud)

但问题是new Uri抛出System.UriFormatException

无效的 URI:指定的端口无效。

我做错了什么?

Cha*_*ger 5

这里的问题是您试图Uri在不是普通 WPF 应用程序的应用程序中创建 。 Uri有许多内置的“方案”,它们在UriParser.

UriParser 类使您能够为新的 URI 方案创建解析器。您可以完整地编写这些解析器,也可以从众所周知的方案(HTTP、FTP 和其他基于网络协议的方案)派生这些解析器。

WPF 在System.Windows.Application创建a 时为“pack”方案添加了一个解析器,这是 WPF 应用程序的正常入口点。在您的情况下,您只需在组合根目录中添加对此的调用:

new System.Windows.Application();
Run Code Online (Sandbox Code Playgroud)