首页 > 解决方案 > 仅用于依赖项的空 Nuget 包

问题描述

我有一个项目,我想将所有依赖项放入一个 nuget 包中。这个想法是,当我需要时,我可以只拉入那个 nuget 包,而不是我需要的 10 个。这可能吗?

当我创建一个库时,我删除了类文件并只引入了依赖项,但无法创建要创建的包。

标签: c#nuget

解决方案


您可以通过在创建包时将IncludeBuildOutput属性设置为来做到这一点。false

例如[使用 VS 2017] -

  1. 文件 > 新建项目 > .NET Core 类库
  2. 右键单击项目并编辑 csproj 以具有以下内容 -
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
    <PackageId>MetaPackage</PackageId>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <IncludeBuildOutput>false</IncludeBuildOutput>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
    <PackageReference Include="NuGet.Versioning" Version="4.7.0-rtm.5104" />
    <PackageReference Include="NUnit" Version="3.10.1" />
  </ItemGroup>

</Project>
  1. 右键单击并构建项目
  2. 看包装在<project_dir>\bin\Debug\MetaPackage.1.0.0.nupkg

这将创建一个没有包的包,\lib并且 nuspec 文件应该有包引用依赖项。

IncludeBuildOutput 您可以在此处阅读更多信息。


推荐阅读