我有一个带有连接程序集的控制台应用程序PresentationCore
(测试在这里完成 - 它更容易;我在窗口应用程序中检查了它,结果是相同的)和这个类Program
:
using System;
using System.Net;
using System.IO.Packaging;
namespace MyApp
{
using static WebRequest;
class Program
{
static void Main()
{
RegisterPrefix("pack", new PackWebRequestFactory()); // префикс регистрируется (можно увидеть в режиме отладки)
var uri = new Uri("pack://application:,,,/Resource.resx");
using (var client = new WebClient())
using (var stream = client.OpenRead(uri)) // ошибка - не удалось найти файл resource.resx
{
// Using stream...
}
}
}
}
文件Resource.resx
存在且路径匹配(如果替换.resx
为.xaml
并使用ResourceDictionary
,则找到文件,这很奇怪(由于“令人反感”的内容会飞出错误,但没关系-找到文件)) . 我需要这个用于一个库,有一点与资源和 uri 相关的“低级”。我深入研究了反射器(类ResourceDictionary
),一切似乎都是一样的,只有.xaml
文件。如何解决这个问题呢?
Resx 必须是嵌入式资源类型。为此,请转到解决方案资源管理器,找到您的资源、属性,在组装期间执行 - 内置资源。