C# 如何防止发布附属程序集

C# 如何防止发布附属程序集,c#,.net-core,C#,.net Core,通过命令行使用“dotnet publish”发布时,本地化和代码覆盖率附属程序集始终显示(如图所示) 我找到了一个局部的解决办法,就是 <SatelliteResourceLanguages>en-US</SatelliteResourceLanguages> en美国 在.csproj文件中删除这些特定于语言的程序集。它没有完全解决问题的原因是,虽然它从常规项目中删除了所有本地化卫星组件,但仍有一些组件保留在xUnit项目中。映像中的每个语言文件夹仅包含一个dll

通过命令行使用“dotnet publish”发布时,本地化和代码覆盖率附属程序集始终显示(如图所示)

我找到了一个局部的解决办法,就是

<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>
en美国
在.csproj文件中删除这些特定于语言的程序集。它没有完全解决问题的原因是,虽然它从常规项目中删除了所有本地化卫星组件,但仍有一些组件保留在xUnit项目中。映像中的每个语言文件夹仅包含一个dll“Microsoft.VisualStudio.TraceDataCollector.resources.dll”,而代码覆盖率文件夹包含一些特定于codecoverage的dll和一个exe

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

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

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

我使用的是dotnet核心版本2.2.203


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

WebApp.Tests.csproj

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

netcoreapp3.1
假的
假的
WebApp.UI

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

netcoreapp3.1
EN