使用Nuget时,有一种简单的方法可以关闭包含多个语言包吗?

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

我正在使用nuget并正在下载AjaxControlToolkit。我遇到的问题是我不希望在bin目录中为不同的语言创建20个额外的文件夹。每个文件夹中只有一个名为“AjaxControlToolkit.resources.dll”的文件。我不需要额外的文件夹,因为我们的应用程序永远不会用于除英语之外的任何内容。

我能够省略文件的唯一方法是遵循:http://blogs.msdn.com/b/webdev/archive/2010/04/22/web-deployment-excluding-files-and-folders-via-the-web-application-s-project-file.aspx,你必须手动在实际的项目文件中添加一行。我觉得应该有更好的方法来做到这一点。

编辑:这是我目前添加到.csproj文件的行:

<ExcludeFoldersFromDeployment>Bin\ar;Bin\cs;Bin\de;Bin\es;Bin\fr;
    Bin\he;Bin\hi;bin\it;bin\ja;bin\ko;bin\nl;bin\pl;bin\pt;
    bin\ru;bin\tr-TR;bin\zh-CHS;bin\zh-CHT</ExcludeFoldersFromDeployment>
c# ajaxcontroltoolkit nuget
2个回答
3
投票

不,你不能切换这个“功能关闭”Nuget只需下载存档包并将文件放在包文件所说的文件所在的位置。

您需要自己手动省略这些文件 - 或者从源代码构建您自己的AjaxToolKit,并提前省略额外的语言。


1
投票

我有同样的问题(类似answer here),我也没有找到更好的方法来做到这一点,我追求你提到的相同的方法,但由于某种原因“ExcludeFoldersFromDeployment”似乎不适合我,但我发现了另一种做同样事情的方法:

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

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

(基本上我把自定义构建事件通过在构建运行后删除它们来清除额外文件...)

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