The title sums it up pretty well. I know I can get the embedded resource names using:
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
string[] files = assembly.GetManifestResourceNames();
But I'd like to be able to get the embedded resources from only a specific folder. Or at least be able to distinguish between embedded resources from different folders.
The resources are returned in the following format.
[Namespace].[Folder].[Filename]
Note that all folders in the path are separated by .
's. So if you had an embedded resource with the following configuration
myproject.csproj (Namespace = com.mycompany.myproject) - Resources - Images - Icons - my_icon.ico
The resource name would be...
com.mycompany.myproject.Resources.Images.Icons.my_icon.ico
If you want to select all from a specific folder, you could use the following LINQ expression or modify it according to your needs.
string prefix = "your_namespace.your_folder."
var resourceNames = Assembly.GetExecutingAssembly()
.GetManifestResourceNames()
.Where(name => name.StartsWith(prefix));