You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NET7环境下如何从ASP.NET Core项目构建NuGet包及处理框架依赖

针对.NET 7的两种解决方案:打包ASP.NET Core Web项目为NuGet或类库引用完整框架

一、直接从ASP.NET Core Web项目构建不含exe的NuGet包

你可以通过修改项目配置,允许打包的同时排除exe文件和冗余runtime文件,避免包体积过大:

  1. 打开FAPIServer.Web.csproj,添加或修改以下配置:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <!-- 开启打包功能 -->
    <IsPackable>true</IsPackable>
    <!-- 排除输出的exe文件 -->
    <ExcludeFilesFromPackage>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).exe</ExcludeFilesFromPackage>
    <!-- 若为自包含发布,排除runtime目录下的所有文件 -->
    <ExcludeFilesFromPackage>bin\$(Configuration)\$(TargetFramework)\runtimes\**</ExcludeFilesFromPackage>
    <!-- 可选:配置NuGet包元数据 -->
    <PackageId>FAPIServer.Web</PackageId>
    <PackageVersion>1.0.0</PackageVersion>
    <Authors>你的名称</Authors>
    <Description>FAPI Server的ASP.NET Core Web组件</Description>
  </PropertyGroup>

  <!-- 原有项目引用和配置保留 -->

</Project>
  1. 执行打包命令:
dotnet pack --configuration Release

打包后的NuGet包会生成在bin\Release\net7.0目录下,仅包含必要的dll、pdb和文档文件,不会携带exe或冗余runtime文件。

二、将类库项目配置为完整引用ASP.NET Core框架

不需要手动引用那些已弃用的NuGet包,只需修改类库的项目Sdk,就能自动引入ASP.NET Core的全部框架依赖:

  1. 若将原有FAPIServer.Web转为类库,或新建类库项目,修改其.csproj的Sdk为Microsoft.NET.Sdk.Web,并设置输出类型为类库:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <IsPackable>true</IsPackable>
    <!-- 指定输出为类库,避免生成exe -->
    <OutputType>Library</OutputType>
  </PropertyGroup>

  <!-- 按需添加特定功能的包(非必需,基础依赖已由Sdk提供) -->
  <ItemGroup>
    <!-- 示例:添加JWT认证包 -->
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.0" />
  </ItemGroup>

</Project>
  1. 保留原Web项目中的核心逻辑(比如Program.cs里的服务配置、中间件注册代码),其他项目引用这个类库后,可直接调用这些配置方法来启动ASP.NET Core应用。

注意事项

  • 打包前可先执行dotnet clean,避免残留旧文件影响包内容。
  • 测试打包后的NuGet包时,可将生成的.nupkg文件添加到本地NuGet源,新建ASP.NET Core项目引用后验证功能是否正常。

内容的提问来源于stack exchange,提问作者Szyszka947

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:23:08