有没有一种从Visual Studio 2015项目自动创建NuGet包的简单方法?

glo*_*pes 8 msbuild nuget nuget-package-restore visual-studio-2015

在Visual Studio 2015之前,将项目设置为自动生成NuGet包非常简单.具体来说,你做了:

  1. .nu​​spec文件添加到项目中
  2. 在解决方案右键单击上下文菜单中启用NuGet包还原
  3. 编辑项目.csproj文件并将build属性设置<BuildPackage>为true

就是这样!

但是,从VS 2015开始,已删除MSBuild集成的程序包还原,并替换为新的自动程序包还原.虽然这些都是好消息,但似乎将build属性设置<BuildPackage>为true不再触发自动包构建.

这是功能的重大突破!有没有办法在不使用后期构建事件的情况下设置NuGet的自动构建?具体来说,我正在寻找一个MSBuild解决方案,因为它构成了我的构建工作流程的支柱.

And*_*y K 6

试试OctoPack:https://www.nuget.org/packages/OctoPack/

只需将nuget包添加到您的项目中即可.

如果您想在每次构建版本时构建它,请添加到<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Whatever' "> 下一行的部分:

 <RunOctoPack>true</RunOctoPack>
Run Code Online (Sandbox Code Playgroud)

有关微调的更多信息,请访问:https://github.com/OctopusDeploy/OctoPack


Dam*_*ehy 1

VS2015 中转向了类库包,这使得创建 NuGet 包变得异常容易。我有博客中讨论过这一点,但本质上只是几个步骤。请注意,目前这只是 RC1,还不是稳定版本。

\n\n
    \n
  1. 将ASP.NET 和 Web Tools 2015(RC1 Update 1)更新安装到 VS2015。

  2. \n
  3. 打开VS2015,新建一个类库包项目。

  4. \n
\n\n

类库包

\n\n
    \n
  1. 将代码添加到库中,并使用您可能需要的任何更改来配置 project.json 文件。以默认的project.json文件为例。

  2. \n
  3. 右键单击该项目并选择“属性”菜单项。在“构建”选项卡中,选择 \xe2\x80\x9c 在 build\xe2\x80\x9d 上生成输出。构建项目。

  4. \n
\n\n

产生输出

\n\n

你\xe2\x80\x99就完成了。转到项目中的工件文件夹,在我的例子中为 \xe2\x80\x9cartifacts\\bin\\AwesomeSoft.TextConverter\\Debug\xe2\x80\x9d。

\n\n

您应该看到已创建的 NuGet 包,以及针对之前指定的每个框架的文件夹。

\n\n

最终核规格

\n

  • 不,它已被删除。您需要在project.json 文件中添加构建后脚本或手动执行“dotnet pack”命令。 (2认同)