添加培养的 resx 文件时发布到 arm64 不工作

Publish to arm64 not working when cultured resx file added

我创建了一个使用 resx 文件进行本地化的 .Net 6.0 项目。 在 Properties 文件夹中添加了一个 Resources.resx 文件(构建操作:EmbeddedResource CustomTool:ResxFileCodeGenerator)我能够将其发布到 arm-64。 这是 pubxml 文件:

<Project>
  <PropertyGroup>
    <Configuration>Debug</Configuration>
    <Platform>Any CPU</Platform>
    <PublishDir>bin\publish\</PublishDir>
    <PublishProtocol>FileSystem</PublishProtocol>
    <TargetFramework>net6.0</TargetFramework>
    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
    <SelfContained>true</SelfContained>
    <PublishSingleFile>false</PublishSingleFile>
    <PublishTrimmed>false</PublishTrimmed>
  </PropertyGroup>
</Project>

然后我将 Resources.nl.resx 文件添加到属性文件夹中(构建操作:EmbeddedResource) 当我现在尝试发布时,它没有说 'arm64' 不是选项 'platform' 的有效设置 这些是输出的最后几行:

2>C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\al.exe /culture:nl /out:obj\Debug\net6.0\linux-arm64\nl\LocalizationResx.resources.dll /platform:arm64 /template:obj\Debug\net6.0\linux-arm64\LocalizationResx.dll /embed:obj\Debug\net6.0\linux-arm64\LocalizationResx.Properties.Resources.nl.resources

2>'arm64' is not a valid setting for option 'platform'

如果我将 linux-arm 设置为目标 运行time,则发布有效。

这是 visual studio 中的错误吗? (2022 v17.1.0)

有没有办法让发布成功?

对于需要在 arm64 上 运行 的 .net 6.0 项目,是否有更好的本地化方法?

对我来说解决问题的方法是打开可执行项目的 csproj 文件并将 <GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore> 添加到包含 targetFramework 的 PropertyGroup。

虚拟项目的 csProj 文件现在如下所示:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore>
  </PropertyGroup>

  <ItemGroup>
    <EmbeddedResource Update="Properties\Resources.nl.resx">
      <Generator></Generator>
    </EmbeddedResource>
    <EmbeddedResource Update="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>

</Project>

正在向 linux-arm64 发布