如何从dot net core中的publish中排除包含Csla.Resources.dll的所有文件夹?

时间:2017-10-01 12:58:56

标签: msbuild .net-core visual-studio-2017 csla

我使用CSLA框架和dot net core 2.0。

当我使用Release配置发布(dotnet publish -c Release -r ...)其他文件夹(tr,sv,sr)来命名其中几个时,包含Csla.Resources.dll并将它们复制到输出发布文件夹中(〜/ bin) /Release/netcoreapp2.0/centos.7-x64/publish)。

如何{strong>排除这些文件夹(包含文件)或在dotnet publish完成执行后从发布文件夹中删除它们?

注意 文件" Csla.resources.dll"在部署过程开始之前不存在。 它将在dotnet publish开始时生成。

2 个答案:

答案 0 :(得分:1)

  

当dotnet发布完成执行后,如何排除这些文件夹(带文件)或从发布文件夹中删除它们?

根据以下文件:

https://docs.microsoft.com/en-us/aspnet/core/publishing/web-publishing-vs?tabs=aspnetcore2x

您可以使用CopyToPublishDirectory="Never"排除文件和文件夹:

<ItemGroup>
  <Content Update="wwwroot/content/**/*.*" CopyToPublishDirectory="Never" />
</ItemGroup>

答案 1 :(得分:0)

如果您不知道这些文件的确切位置,您可以使用msbuild通过将其添加到csproj文件来排除找到其中一个文件夹的所有文件夹:

<ItemGroup>
  <_CslaResourcesAssemblies Include="**/Csla.Resources.dll" />
  <Content Update="@(_CslaResourcesAssemblies->'%(RecursiveDir)**')" CopyToPublishDirectory="Never" />
</ItemGroup>