部署 .Net Core 2.0 应用包括 150 多个 Dll

Deploying .Net Core 2.0 App Includes 150+ Dlls

我最近将我的 Visual Studio 版本从 2017 更新到 2019,同时安装了 .net 核心版本 2.2。我有 .Net Core 2.0 Web 项目,其中仅包含通过 Nudget 打包系统添加的 dll,如下所示;

此文件夹仅包含 22 个项目。

但是在 VS 更新后,当我发布应用程序时,我有一个输出文件夹,如下所示;

此文件夹包含近 200 个 dll。我什至没有更改发布设置。我没有任何这些依赖关系,我确保部署方法不是 self-contained deployment 而是 Framework-dependent Deployment

我正在使用 CLI 命令发布我的应用程序;

dotnet publish -c Release

我发布的文件夹中有这么多 dll 的原因是什么?

编辑:

这是我的 .csproj 文件的样子:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AstrodyneTdi.Web" Version="3.2.4" />
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="NLog.Extensions.Logging" Version="1.0.0-rtm-alpha4" />
    <PackageReference Include="RestSharp" Version="106.6.9" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>

</Project>

对我来说,我刚才不得不将这一部分添加到 .csproj 文件中,特别是 PublishWithAspNetCoreTargetManifest

MS Documentation

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <Platforms>AnyCPU;x64</Platforms>
    <PublishWithAspNetCoreTargetManifest>true</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>