Sto tentando di includere una risorsa incorporata in una DLL che sto compilando utilizzando Roslyn. Ho trovato qualcosa che mi ha aiutato a mettere sulla strada giusta here.Includere una risorsa incorporata in una compilazione realizzata da Roslyn
Tuttavia, quando creo la dll utilizzando il seguente codice:
const string resourcePath = @"C:\Projects\...\Properties\Resources.resources";
var resourceDescription = new ResourceDescription(
"Resources.resources",
() => File.OpenRead(resourcePath),
true);
var result = mutantCompilation.Emit(file, manifestResources: new [] {resourceDescription});
trovo che passerà tutti i test di unità che ho creato per il progetto ad eccezione di quelli che si basano sul file delle risorse.
L'errore che sto ottenendo è simile al seguente:
System.Resources.MissingManifestResourceException ... Make sure "[Project].Properties.Resources.resources" was correctly embedded or linked into
assembly "[Project]" at compile time, or that all the satellite assemblies required are loadable and fully signed.
La dll dovrebbe essere firmato, e quando viene emessa da Roslyn si esce con la chiave pubblica corretta. Inoltre, Resource.resx è incluso nel mio progetto direttamente nella cartella Proprietà.
Apprezzerei qualsiasi aiuto che chiunque potrebbe fornire.
Modificato la mia domanda per riflettere più ricerche che avevo fatto. –