.NET Core - ресурсы изображений, не включенные / не скомпилированные в библиотеке - PullRequest
0 голосов
/ 22 октября 2019

Я хотел бы включить некоторые файлы изображений 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.

...