Bud*_*ril 9 publishing .net-core
我有一个使用.net core 2.0的web asp.net解决方案。我正在使用命令来构建它:
dotnet publish MySolution.sln --configuration release --output d:\test_output
Run Code Online (Sandbox Code Playgroud)
但是当我检查输出文件夹时,我看到了很多本地化文件夹,如下图所示:
有没有一种方法可以在不生成这些文件夹的情况下发布代码?
小智 38
对于使用 ASP.NET Core 3.1 的项目,将此行添加到您的*.csproj文件中:
<PropertyGroup>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
这篇文章中的答案来源:Disable Dll Culture Folders on Compile。
小智 10
[在net 5.0中]上述所有解决方案对我来说都不起作用。出于绝望,我补充道:
<PropertyGroup>
<SatelliteResourceLanguages>en-US;en</SatelliteResourceLanguages>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
它成功了,完全不知道为什么
@Igor.K 提供的解决方案适用于我的 API 项目,但对于我的解决方案中的 ASP.NET Core MVC 网站,我必须进行一些小的更改。
尝试将以下行添加到您的.csproj文件中。
<PropertyGroup>
<ResourceLanguages>en</ResourceLanguages>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
您可以通过右键单击您的项目并选择“卸载项目”来编辑此文件。然后,当您再次右键单击时,您将能够编辑 .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" />
Run Code Online (Sandbox Code Playgroud)
这是参考:编译时禁用 Dll 文化文件夹
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |