【问题标题】:.net core build produces localization folders.net core build 生成本地化文件夹
【发布时间】:2018-01-24 14:25:30
【问题描述】:

我有一个使用 .net core 2.0 的 web asp.net 解决方案。我正在使用命令构建它:

dotnet publish MySolution.sln --configuration release --output d:\test_output

但是当我检查输出文件夹时,我看到很多本地化文件夹,如下图所示:

有没有办法在不生成这些文件夹的情况下发布代码?

【问题讨论】:

标签: .net-core publishing


【解决方案1】:

对于使用 ASP.NET Core 3.1 的项目,将此行添加到您的 *.csproj 文件中:

<PropertyGroup>   
    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>

本帖答案出处:Disable Dll Culture Folders on Compile

【讨论】:

  • 确认,此解决方案也适用于 .NET Core 3.1 单元测试项目
  • 备注:属性应该添加到包含&lt;TargetFramework&gt;的现有&lt;PropertyGroup&gt;节点中,而不是添加新的&lt;PropertyGroup&gt;,我首先尝试并发现不起作用。
【解决方案2】:

@Igor.K 提供的解决方案适用于我的 API 项目,但对于我的解决方案中的 ASP.NET Core MVC 网站,我不得不做一些小改动。

尝试将下面的行添加到您的 .csproj 文件中。

<PropertyGroup>   
    <ResourceLanguages>en</ResourceLanguages>
</PropertyGroup>

您可以通过右键单击您的项目并选择“卸载项目”来编辑此文件。然后,当您再次右键单击时,您将能够编辑 .csproj 文件。不过,请确保在完成后重新加载项目。

所以,如果 SatelliteResourceLanguages 不能解决您的问题,ResourceLanguages 可能会解决问题。

【讨论】:

    【解决方案3】:

    .csproj 文件中,查找 "Microsoft.VisualStudio.Web.CodeGeneration.Design" 包引用并添加属性 ExcludeAssets="All "

    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" ExcludeAssets="All" />
    

    这是参考:Disable Dll Culture Folders on Compile

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多