gpt4 book ai didi

c# - 不需要的文化特定 dll 复制到 bin 目录

转载 作者:可可西里 更新时间:2023-11-01 03:08:51 25 4
gpt4 key购买 nike

我正在使用 visual studio 2013 & Fluent Validation 5.6.2

我看到在 bin 文件夹中构建后,它复制了所有特定于文化的 FluentValidation.resources.dll 这似乎在 .nuspec 文件中提到了

> <file src="lib\NET35\de\FluentValidation.resources.dll"
> target="lib\NET35\de\FluentValidation.resources.dll" />
> <file src="lib\NET35\es\FluentValidation.resources.dll" target="lib\NET35\es\FluentValidation.resources.dll" />
> <file src="lib\NET35\fr\FluentValidation.resources.dll" target="lib\NET35\fr\FluentValidation.resources.dll" />
> <file src="lib\NET35\it\FluentValidation.resources.dll" target="lib\NET35\it\FluentValidation.resources.dll" />
> <file src="lib\NET35\nl\FluentValidation.resources.dll" target="lib\NET35\nl\FluentValidation.resources.dll" />
> <file src="lib\NET35\pt\FluentValidation.resources.dll" target="lib\NET35\pt\FluentValidation.resources.dll" />
> <file src="lib\NET35\sv\FluentValidation.resources.dll" target="lib\NET35\sv\FluentValidation.resources.dll" />

但我不需要在 bin 文件夹中放置这些,因为项目不支持任何特定于文化的消息。

那么我如何告诉 vs-build 忽略这些特定于文化的 dll?

最佳答案

我的解决方案是将此目标添加到 .csproj 文件末尾的结束 project 标记之前。

<Target Name="AfterPackage" AfterTargets="CopyAllFilesToSingleFolderForPackage" />

<ItemGroup>
<FluentValidationExcludedCultures Include="cs;da;de;es;fa;fi;fr;it;ko;mk;nl;pl;pt;ru;sv;tr;zh-CN">
<InProject>false</InProject>
</FluentValidationExcludedCultures>
</ItemGroup>

<Target Name="RemoveTranslationsAfterBuild" AfterTargets="AfterBuild">
<RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutputPath)%(Filename)')" />
</Target>

<Target Name="RemoveTranslationsAfterPackage" AfterTargets="AfterPackage">
<RemoveDir Directories="@(FluentValidationExcludedCultures->'$(_PackageTempDir)\$(OutputPath)%(Filename)')" />
</Target>

它不漂亮,但它完成了工作。如果您需要一些特定于文化的资源,只需从列表中删除相应的行即可。如果 future 的更新添加了您不想要的新文化,请将其添加到列表中。

最好的选择是要求开发人员将资源分成多个 nuget,这样您就可以只添加需要的资源。我会暂时坚持使用这个解决方案,直到有人想出更好的解决方案。


现在你可以在官方项目维基上找到我的解决方案:https://github.com/JeremySkinner/FluentValidation/wiki/f.-Localization (在页面底部)

关于c# - 不需要的文化特定 dll 复制到 bin 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31289043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com