Intereting Posts

Как получить путь к обманутому ресурсу?

Я включил богатый ресурс в свой проект C #; Я знаю его имя и как его отношу, поэтому мне было интересно, есть ли способ получить его абсолютный путь … есть ли?

Как говорили другие, встроенный ресурс встроен в сборку сборки и не существует в файловой системе; если вы ищете файл в файловой системе, вы должны изменить действие сборки на «Нет» и «Копировать в выходной каталог» на одно из значений копирования.

Если, однако, вы хотите внедрить этот ресурс, то к нему можно получить доступ, используя метод GetManifestResourceStream classа Assembly следующим образом:

GetType().Assembly.GetManifestResourceStream("someresourcestringhere") 

(В приведенном выше коде предполагается, что вы получаете доступ к ресурсу из classа внутри той же сборки).

Вложенный ресурс обычно следует за следующим форматом (любые пробелы сохраняются), и это строка, которую вы передадите методу GetManifestResourceStream:

default project namespace. имя папки (если есть). имя файла

Лично я нашел, что самый простой способ получить эту строку – использовать инструмент декомпилятора (например, просто декомпилировать Telerik), чтобы посмотреть в сборку и получить полное имя ресурса для файла, который вы ищете.

Встроенный ресурс – это то, что: embedded. Это означает, что он включен в сборку и не существует как физический файл после компиляции (если это то, что вы ищете).

 System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames(); 

Как насчет

 Console.WriteLine(WindowsFormsApplication1.Properties.Resources.myfile); 

где myfile – встроенный ini-файл