ASP.Net 核心排除英语以外的已发布语言目录
ASP.Net Core exclude published language directories other than english
我这样发布我的 ASP.Net Core 3.1 服务器:
dotnet publish --configuration Release --runtime win7-x64 -p:PublishTrimmed=true --output c:\MyServer
我在c:\MyServer里得到的是很多国际语言目录:cs, de, es, fr, zh-hans etc
如何只发布英文版本?
我尝试在我的 csproj 中使用 ExcludeFoldersFromDeployment
:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
<AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel>
<Nullable>enable</Nullable>
<ExcludeFoldersFromDeployment>cs;de;es;fr;he;hi;it;ja;ko;nl;pl;pt;ru;tr-TR;zh-Hans;zh-Hant</ExcludeFoldersFromDeployment>
</PropertyGroup>
但这并没有帮助
有什么帮助吗?
如果您有对 Microsoft.VisualStudio.Web.CodeGeneration.Design
的项目引用,那么您在发布的输出中会得到很多包含 CodeAnalysis.dll
文件的语言文件夹,这是脚手架控制器所需要的。如果您的项目是这样,请更改 .csproj 文件中的包引用以包含 ExcludeAssets="All":
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" ExcludeAssets="All"/>
参考https://forums.asp.net/t/2160546.aspx?how+to+get+rid+of+fr+it+ja+etc+folders+in+net+core+3+0+
编辑您的 .csproj 并将以下行添加到 PropertyGroup:
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
它应该只发布选定的语言资源文件夹。
我这样发布我的 ASP.Net Core 3.1 服务器:
dotnet publish --configuration Release --runtime win7-x64 -p:PublishTrimmed=true --output c:\MyServer
我在c:\MyServer里得到的是很多国际语言目录:cs, de, es, fr, zh-hans etc
如何只发布英文版本?
我尝试在我的 csproj 中使用 ExcludeFoldersFromDeployment
:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
<AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel>
<Nullable>enable</Nullable>
<ExcludeFoldersFromDeployment>cs;de;es;fr;he;hi;it;ja;ko;nl;pl;pt;ru;tr-TR;zh-Hans;zh-Hant</ExcludeFoldersFromDeployment>
</PropertyGroup>
但这并没有帮助
有什么帮助吗?
如果您有对 Microsoft.VisualStudio.Web.CodeGeneration.Design
的项目引用,那么您在发布的输出中会得到很多包含 CodeAnalysis.dll
文件的语言文件夹,这是脚手架控制器所需要的。如果您的项目是这样,请更改 .csproj 文件中的包引用以包含 ExcludeAssets="All":
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" ExcludeAssets="All"/>
参考https://forums.asp.net/t/2160546.aspx?how+to+get+rid+of+fr+it+ja+etc+folders+in+net+core+3+0+
编辑您的 .csproj 并将以下行添加到 PropertyGroup:
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
它应该只发布选定的语言资源文件夹。