Próbuję dołączyć osadzony zasób do biblioteki dll, którą kompiluję używając Roslyn. Znalazłem coś, co pomogło umieścić mnie na właściwe tory here.W tym osadzony zasób w kompilacji utworzonej przez Roslyn
Jednak podczas tworzenia dll przy użyciu następującego kodu:
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});
Uważam, że to przejdzie wszystkie testy jednostkowe, że utworzyłem dla projektu, z wyjątkiem tych, które opierają się na pliku zasobów.
Błąd Dostaję wygląda następująco:
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.
dll ma być podpisane, a kiedy jest emitowany przez Roslyn wychodzi z odpowiednim kluczem publicznym. Ponadto Resource.resx jest zawarty w moim projekcie bezpośrednio w folderze Properties.
Byłbym wdzięczny za każdą pomoc, którą każdy może zapewnić.
Zmieniono moje pytanie, aby odzwierciedlić więcej badań, które przeprowadziłem. –