在 ASP.NET Core 6 中,为什么 System.Private.ServiceModel.resources.dll 的已发布输出中需要语言文件夹以及如何消除它们?

问题描述 投票:0回答:2

在 ASP.NET Core 6 中,当发布为独立的 win-x86 网站时,会在发布文件夹中创建一堆语言文件夹。

这些文件夹包含一个 dll,即

System.Private.ServiceModel.resources.dll
。据我所知,这些文件夹不存在于 Asp.NET 5 中,它们给部署带来了混乱/噪音,而我不希望有这样的情况。

您能否解释一下为什么此类部署需要所有这些本地化版本的

System.Private.ServiceModel.resources.dll
?另外,由于我的网站只有英文,我可以安全地删除所有语言文件夹(即 cs、de、es、fr、it、ja、ko、pl、pt-BR、ru、tr、zh-Hans、zh-汉特)? 最后,有没有更好的方法让这些消失呢?例如某处的一些配置?

asp.net-core .net-6.0 visual-studio-2022 dotnet-publish
2个回答
25
投票

您可以添加

SatelliteResourceLanguages
来限制文件夹。

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>

0
投票

如果它们位于“Locales”应用程序子文件夹中,那就太好了。
对于桌面应用程序来说,它只是马虎。我在寻找更改位置的方法时发现了这篇文章。还没有运气。

© www.soinside.com 2019 - 2024. All rights reserved.