Быстрый вопрос, который разрушил мое утро и сводит меня с ума.
У меня есть небольшой проект, который включает в себя DLL из другого проекта. В DLL встроен XSL-файл, который я хочу извлечь и применить к элементу управления веб-браузера.
У меня нет проблем с извлечением / доступом к встроенным ресурсам в основном EXE-файле, но я не могу найти способ доступа к ним в DLL!?
Я пробовал:
- "SolutionName.DllName.Resource.xsl"
- "ExeName.DllName.Resource.xsl"
- "ProjectNamespace.DllNamespace.Resource.xsl"
... и почти каждая их перестановка, но она никогда не сможет ее найти.
У меня нет ссылки на точечную нотацию в C # для использования с nameof()
, и я не могу найти какую-либо очевидную ссылку / доступ к ней с помощью:
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
Итак, каков правильный метод именования (или другой метод?) Для извлечения этого файла?
В случае, если это поможет, вот некоторые дополнительные детали:
Название проекта: DataBuilder
Пространство имен проекта: DataBuilder
Имя DLL: CobCommon
Пространства имен DLL: CobCommon, CobCommon.Classes, CobCommon.Classes.Data, CobCommon.Winforms, CobCommon.WinForms.Controls
Имя ресурса XSL: XmlFormating.xsl
Указанная операция с файлом ресурсов называется «Встроенный ресурс» и находится в «корневой» области проекта DLL.
Доступ к global::
дает мне CobCommon и DataBuilder среди доступных вариантов, но CobCommon не имеет ни .Properties
, ни * Опция 1064 * и DataBuilder с .Properties.Resources
дают "Культура" в качестве единственной ссылки.
XSL-файл - это , указанный на вкладке «Свойства | Ресурсы | Файлы» проекта DLL.
Чего мне не хватает?