C# WPF 在构建时创建了太多的文化文件夹
Posted
技术标签:
【中文标题】C# WPF 在构建时创建了太多的文化文件夹【英文标题】:C# WPF creating too many culture folders while building 【发布时间】:2019-11-27 09:37:05 【问题描述】:我的一些 NuGet 包需要 Microsoft.CodeAnalysis.resources.dll
和 Microsoft.CodeAnalysis.CSharp.resources.dll
,所以我安装了它们。
但是,当我构建项目时,Debug 文件夹中有很多文件夹。
在每个文件夹中,都有
我不需要它们,因为我只想显示英文,我想清除所有其他文件夹。
我手动删除它们并运行应用程序,它运行良好,但我担心如果我在法语 Win 系统上运行它,它会弹出错误,因为“fr”文件夹丢失。
还尝试在 AssemblyInfo.cs 中添加 [assembly: NeutralResourcesLanguage("en")]
,在 <PropertyGroup>
下添加 <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
。但这些文件夹仍然是在构建时创建的。
我正在使用 Visual Studio 2019。
【问题讨论】:
你的应用是 ClickOnce 吗? Disable Dll Culture Folders on Compile的可能重复 @MindSwipeNeutralResourcesLanguageAttribute
没有帮助,正如它在问题中提到的那样
【参考方案1】:
尝试将以下目标添加到csproj
文件中,其中使用了Nuget包
<Target Name="RemoveSatelliteAssemblies" AfterTargets="ResolveAssemblyReferences">
<ItemGroup>
<ReferenceCopyLocalPaths Remove="@(ReferenceSatellitePaths)" />
</ItemGroup>
</Target>
它将删除所有不必要的附属程序集。如果法语有问题,你应该离开目标语言程序集
【讨论】:
不错。文件夹 r 现在是空的。以上是关于C# WPF 在构建时创建了太多的文化文件夹的主要内容,如果未能解决你的问题,请参考以下文章