Asp.net core 不使用Microsift DLL发布.net core 2 Api项目

Asp.net core 不使用Microsift DLL发布.net core 2 Api项目,asp.net-core,asp.net-core-2.0,Asp.net Core,Asp.net Core 2.0,当我发布我的net core项目时 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <Authors>Arthur Vaverko</Authors> <Company>Home</Company> <Product>MyApi</Product> <PackageId>MyApi</Pa

当我发布我的net core项目时

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <Authors>Arthur Vaverko</Authors>
    <Company>Home</Company>
    <Product>MyApi</Product>
    <PackageId>MyApi</PackageId>
    <Version>1.0.0.0</Version>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <FileVersion>1.0.0.0</FileVersion>
    <NeutralLanguage>en</NeutralLanguage>
    <Description>My package</Description>
    <Copyright>Copyright © 2017</Copyright>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Home.MyPackage" Version="1.7.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2"/>
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0"/>
  </ItemGroup>
</Project>

阿瑟·瓦弗科
家
MyApi
MyApi
1.0.0.0
1.0.0.0
1.0.0.0
EN
我的包裹
版权所有©2017
netcoreapp2.0
真的
运行以下命令

dotnet发布-o构建

我得到以下DLL列表。。。(部分…)

。。。。。de es fr it ja KalturaClient.Net.Core.dll ko log4net.config log4net.dll Microsoft.AI.DependencyCollector.dll Microsoft.ApplicationInsights.AspNetCore.dll Microsoft.ApplicationInsights.dll Microsoft.AspNetCore.Antiforgery.dll Microsoft.AspNetCore.ApplicationInsights.HostingStartup.dl Microsoft.AspNetCore.Authentication.Abstractions.dll Microsoft.AspNetCore.Authentication.Cookies.dll Microsoft.AspNetCore.Authentication.Core.dll Microsoft.AspNetCore.Authentication.dll Microsoft.AspNetCore.Authentication.Facebook.dll Microsoft.AspNetCore.Authentication.Google.dll Microsoft.AspNetCore.Authentication.JwtBearer.dll Microsoft.AspNetCore.Authentication.MicrosoftAccount.dll Microsoft.AspNetCore.Authentication.OAuth.dll Microsoft.AspNetCore.Authentication.OpenIdConnect.dll Microsoft.AspNetCore.Authentication.Twitter.dll Microsoft.AspNetCore.Authorization.dll Microsoft.AspNetCore.Authorization.Policy.dll Microsoft.AspNetCore.AzureAppServices.HostingStartup.dll Microsoft.AspNetCore.AzureAppServicesIntegration.dll Microsoft.AspNetCore.CookiePolicy.dll Microsoft.AspNetCore.Cors.dll Microsoft.AspNetCore.Cryptography.Internal.dll Microsoft.AspNetCore.Cryptography.keydrivation.dll Microsoft.AspNetCore.DataProtection.Abstractions.dll Microsoft.AspNetCore.DataProtection.AzureStorage.dll Microsoft.AspNetCore.DataProtection.dll Microsoft.AspNetCore.DataProtection.Extensions.dll Microsoft.AspNetCore.Diagnostics.Abstractions.dll Microsoft.AspNetCore.Diagnostics.dll Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.dll Microsoft.AspNetCore.dll Microsoft.AspNetCore.Hosting.Abstractions.dll Microsoft.AspNetCore.Hosting.dll Microsoft.AspNetCore.Hosting.Server.Abstractions.dll Microsoft.AspNetCore.Html.Abstractions.dll Microsoft.AspNetCore.Http.Abstractions.dll Microsoft.AspNetCore.Http.dll Microsoft.AspNetCore.Http.Extensions.dll Microsoft.AspNetCore.Http.Features.dll Microsoft.AspNetCore.HttpOverrides.dll Microsoft.AspNetCore.Identity.dll Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll Microsoft.AspNetCore.JsonPatch.dll Microsoft.AspNetCore.Localization.dll Microsoft.AspNetCore.Localization.Routing.dll Microsoft.AspNetCore.MiddlewareAnalysis.dll Microsoft.AspNetCore.Mvc.Abstractions.dll Microsoft.AspNetCore.Mvc.ApiExplorer.dll Microsoft.AspNetCore.Mvc.Core.dll Microsoft.AspNetCore.Mvc.Cors.dll Microsoft.AspNetCore.Mvc.DataAnnotations.dll Microsoft.AspNetCore.Mvc.dll Microsoft.AspNetCore.Mvc.Formatters.Json.dll Microsoft.AspNetCore.Mvc.Formatters.Xml.dll Microsoft.AspNetCore.Mvc.Localization.dll Microsoft.AspNetCore.Mvc.Razor.dll Microsoft.AspNetCore.Mvc.Razor.Extensions.dll Microsoft.AspNetCore.Mvc.RazorPages.dll Microsoft.AspNetCore.Mvc.TagHelpers.dll Microsoft.AspNetCore.Mvc.ViewFeatures.dll Microsoft.AspNetCore.NodeServices.dll Microsoft.AspNetCore.Owin.dll Microsoft.AspNetCore.Razor.dll Microsoft.AspNetCore.Razor.Language.dll Microsoft.AspNetCore.Razor.Runtime.dll Microsoft.AspNetCore.responseCache.Abstractions.dll


由于目标计算机包含ISS
DotNetCore.2.0.5-WindowsHosting,我如何才能只发布所需的DLL?如果需要,我宁愿安装.net core sdk,而不是每次发布一个约48Mb的项目。

您可以尝试dotnet publish-c版本。

您可以尝试dotnet publish-c发布

查看
dotnet发布的支持页面
,它说有可能的选项:

dotnet publish [<PROJECT>] [-c|--configuration] 
[-f|--framework] [--force] [--manifest] 
[--no-dependencies] [--no-restore] [-o|--output] 
[-r|--runtime] [--self-contained] [-v|--verbosity] 
[--version-suffix]
dotnet发布[][-c |--配置]
[-f|--framework][--force][--manifest]
[--无依赖关系][--无恢复][o |--输出]
[-r |--运行时][--自包含的][-v |--冗长]
[--版本后缀]
指定运行时时,
--自包含的
的默认值为true

--self-contained
被隐式或显式地设置为true时,它会发布框架文件,使其如单词所示“self-contained”。当您将其设置为false时,它将只发布“您的”DLL

有关该命令的更多信息,请参见:

您可以在这里找到“依赖于框架的部署”和“自包含的部署”之间的区别:


因此,对于您当前的问题,如果您在发布的文件夹中看到运行时包,有两种可能

  • 您正在使用
    -r |--runtime
    选项指定运行时
  • 您正在将
    --self-contained
    显式设置为true

  • 查看
    dotnet publish
    的支持页面,它说有可能的选项:

    dotnet publish [<PROJECT>] [-c|--configuration] 
    [-f|--framework] [--force] [--manifest] 
    [--no-dependencies] [--no-restore] [-o|--output] 
    [-r|--runtime] [--self-contained] [-v|--verbosity] 
    [--version-suffix]
    
    dotnet发布[][-c |--配置]
    [-f|--framework][--force][--manifest]
    [--无依赖关系][--无恢复][o |--输出]
    [-r |--运行时][--自包含的][-v |--冗长]
    [--版本后缀]
    
    指定运行时时,
    --自包含的
    的默认值为true

    --self-contained
    被隐式或显式地设置为true时,它会发布框架文件,使其如单词所示“self-contained”。当您将其设置为false时,它将只发布“您的”DLL

    有关该命令的更多信息,请参见:

    您可以在这里找到“依赖于框架的部署”和“自包含的部署”之间的区别:


    因此,对于您当前的问题,如果您在发布的文件夹中看到运行时包,有两种可能

  • 您正在使用
    -r |--runtime
    op指定运行时