Я хотел бы включить некоторые файлы изображений PNG в сборку (.dll) для использования в приложении WPF. Ранее мы ориентировались на .NET Framework 4.8, которая работала нормально, но после переноса проекта в .NET Standard 2.1 ресурсы игнорируются.
Использование .NET Framework 4.8 сохраняет ресурсы как требуется, что означает, что естьзапись [AssemblyName] .g.resources, содержащая подобную каталогу структуру с изображениями в ней. При переключении на «netstandard2.1» в качестве целевой платформы ресурсы не включаются.
Файл .csproj выглядит следующим образом:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<OutputPath>bin\$(Configuration)\</OutputPath>
<ApplicationIcon />
<Win32Resource />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugType>full</DebugType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\AssemblyInfo.App.cs" Link="Properties\AssemblyInfo.App.cs" />
</ItemGroup>
<ItemGroup>
<Resource Include="**\*.png" />
</ItemGroup>
</Project>
Ожидаемый результат - иерархия ресурсов, скомпилированная вфайл библиотеки, чтобы к изображениям можно было получить доступ непосредственно из .xaml. Мы успешно сделали это с .NET Framework в качестве целевой платформы, но он не будет работать с .NET Standard 2.1 или .NET Core 3.0.