Je ne parviens pas à lire les ressources intégrées dans ASP.NET Core 3.1. Plus précisément, je suis l'exemple donné dans la documentation ici :
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers?view=aspnetcore-3.1
J'ai mis à jour mon fichier csproj de la manière suivante en ajoutant l'élément suivant <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Data\sessions.json" />
<EmbeddedResource Include="Data\speakers.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EFLib\EFLib.csproj" />
<ProjectReference Include="..\RepositoryLib\RepositoryLib.csproj" />
<ProjectReference Include="..\SeedDataLib\SeedDataLib.csproj" />
</ItemGroup>
</Project>
J'ai une application console comme suit et j'obtiens l'erreur ci-dessous lorsque je l'exécute.
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("Hello World!");
var manifestEmbeddedProvider =
new ManifestEmbeddedFileProvider(typeof(Program).Assembly); // ERROR HERE
{"Impossible de charger le manifeste du fichier intégré 'Microsoft.Extensions.FileProviders.Embedded.Manifest.xml' pour l'assemblage 'TestConsoleApp'."}
J'essaie essentiellement de faire ce que j'avais l'habitude de faire dans ASP.NET Core 2, c'est-à-dire ceci, mais cela ne fonctionne pas.
var assembly = Assembly.GetEntryAssembly();
string[] resources = assembly.GetManifestResourceNames(); // debugging purposes only to get list of embedded resources