.net 核心构建生成本地化文件夹
.net core build produces localization folders
我有一个使用 .net core 2.0 的网络 asp.net 解决方案。我正在使用以下命令构建它:
dotnet publish MySolution.sln --configuration release --output d:\test_output
但是当我检查输出文件夹时,我看到了很多本地化文件夹,如下图所示:
有没有办法在不生成这些文件夹的情况下发布代码?
在 .csproj 文件中,您查找 "Microsoft.VisualStudio.Web.CodeGeneration.Design" 包引用并添加 属性 排除资产="All"
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" ExcludeAssets="All" />
引用如下:Disable Dll Culture Folders on Compile
对于使用 ASP.NET Core 3.1 的项目,将此行添加到您的 *.csproj
文件中:
<PropertyGroup>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
此post中的答案来源:Disable Dll Culture Folders on Compile。
@Igor.K提供的解决方案适用于我的API项目,但对于我解决方案中的ASP.NET核心MVC网站,我不得不做一个小改动。
尝试将以下行添加到您的 .csproj 文件中。
<PropertyGroup>
<ResourceLanguages>en</ResourceLanguages>
</PropertyGroup>
您可以通过 right-clicking 您的项目并选择“卸载项目”来编辑此文件。然后,当您再次 right-click 时,您将能够编辑 .csproj 文件。不过,请确保在完成后重新加载项目。
因此,如果 SatelliteResourceLanguages 不能解决您的问题,ResourceLanguages 可能会成功。
SateliteResourceLangauges
和 ResourceLangauges
解决方案都不适合我。在我的例子中,文件是由以下 nuget 生成的:
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" ExcludeAssets="All" />
如上所示添加 ExcludeAssets="All"
解决了问题。
[在 net 5.0 中] 以上所有解决方案都不适合我。
出于绝望,我补充说:
<PropertyGroup>
<SatelliteResourceLanguages>en-US;en</SatelliteResourceLanguages>
</PropertyGroup>
它有效,完全不知道为什么
我有一个使用 .net core 2.0 的网络 asp.net 解决方案。我正在使用以下命令构建它:
dotnet publish MySolution.sln --configuration release --output d:\test_output
但是当我检查输出文件夹时,我看到了很多本地化文件夹,如下图所示:
有没有办法在不生成这些文件夹的情况下发布代码?
在 .csproj 文件中,您查找 "Microsoft.VisualStudio.Web.CodeGeneration.Design" 包引用并添加 属性 排除资产="All"
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" ExcludeAssets="All" />
引用如下:Disable Dll Culture Folders on Compile
对于使用 ASP.NET Core 3.1 的项目,将此行添加到您的 *.csproj
文件中:
<PropertyGroup>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
此post中的答案来源:Disable Dll Culture Folders on Compile。
@Igor.K提供的解决方案适用于我的API项目,但对于我解决方案中的ASP.NET核心MVC网站,我不得不做一个小改动。
尝试将以下行添加到您的 .csproj 文件中。
<PropertyGroup>
<ResourceLanguages>en</ResourceLanguages>
</PropertyGroup>
您可以通过 right-clicking 您的项目并选择“卸载项目”来编辑此文件。然后,当您再次 right-click 时,您将能够编辑 .csproj 文件。不过,请确保在完成后重新加载项目。
因此,如果 SatelliteResourceLanguages 不能解决您的问题,ResourceLanguages 可能会成功。
SateliteResourceLangauges
和 ResourceLangauges
解决方案都不适合我。在我的例子中,文件是由以下 nuget 生成的:
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" ExcludeAssets="All" />
如上所示添加 ExcludeAssets="All"
解决了问题。
[在 net 5.0 中] 以上所有解决方案都不适合我。 出于绝望,我补充说:
<PropertyGroup>
<SatelliteResourceLanguages>en-US;en</SatelliteResourceLanguages>
</PropertyGroup>
它有效,完全不知道为什么