只有依赖项的空Nuget包

时间:2018-04-24 19:59:01

标签: c# nuget

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

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

1 个答案:

答案 0 :(得分:2)

您可以在创建包时将IncludeBuildOutput属性设置为false来执行此操作。

例如[使用VS 2017] -

  1. 文件>新项目> .NET Core类库
  2. 右键单击项目并编辑csproj以获得以下内容 -
  3. <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
    3. 处的包裹

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

      您可以详细了解IncludeBuildOutput here