gpt4 book ai didi

c# - 如何防止卫星程序集被发布

转载 作者:行者123 更新时间:2023-12-02 09:22:04 38 4
gpt4 key购买 nike

通过命令行使用“dotnetpublish”进行发布时,始终会出现本地化和代码覆盖卫星程序集(如图所示)。

我找到了部分解决方案,即添加

<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>

在 .csproj 文件中删除那些特定于语言的程序集。它没有完全解决问题的原因是,虽然它从常规项目中删除了所有定位卫星程序集,但有些仍然保留在 xUnit 项目中。图像中的每个语言文件夹仅包含一个 dll“Microsoft.VisualStudio.TraceDataCollector.resources.dll”,而代码覆盖文件夹包含一些特定于代码覆盖的 dll 和一个 exe。

我尝试了各种找到的解决方案,例如在 .csproj 中添加以下内容:

<ItemGroup>
<Content Include="wwwroot\LicenceFiles" CopyToPublishDirectory="Never" />
</ItemGroup>

但没有任何帮助。它适用于删除 wwwroot 文件夹,但对于任何语言文件夹,当指定这些文件夹时,它不会执行任何操作。我上面提到的部分解决方案是唯一最终删除了某些内容的解决方案。我正在寻找一种方法来删除这些文件夹,而不使用批处理文件或类似文件,纯粹通过项目设置、发布选项或类似的东西。

我使用的是 dotnet core 版本 2.2.203。

Extra folders

最佳答案

我还在启动的 .NET Core Web 项目中添加了 SatelliteResourceLanguages 标签,但在部署解决方案时发现了同样的问题。我将 IsPublishable 标记添加到我的测试项目中,这些文件不再随我的解决方案一起部署。

WebApp.Tests.csproj

  <PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<IsPackable>false</IsPackable>
<IsPublishable>false</IsPublishable>
</PropertyGroup>

WebApp.UI

  <PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>

关于c# - 如何防止卫星程序集被发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56565063/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com