有没有一种简单的方法可以从 Visual Studio 2015 项目自动创建 NuGet 包?
Is there an easy way to automatically create a NuGet package from a Visual Studio 2015 project?
在 Visual Studio 2015 年之前,将您的项目设置为自动生成 NuGet 包非常简单。具体来说,您做了:
- 将 .nuspec 文件添加到您的项目
- 在解决方案右键单击上下文菜单中启用 NuGet 包还原
- 编辑项目 .csproj 文件并将构建 属性
<BuildPackage>
设置为 true
就是这样!
但是,从 VS 2015 开始,MSBuild-integrated package restore has been removed 并被新的自动包还原取代。虽然这些都是好消息,但似乎将构建 属性 <BuildPackage>
设置为 true 不再触发自动包构建。
这是一个重大的功能中断!有没有一种方法可以在不使用 post-build 事件的情况下设置 NuGet 的自动构建?具体来说,我正在寻找 MSBuild 解决方案,因为它构成了我的构建工作流程的 backbone。
VS2015 中有一个 Class 库包的移动,这使得创建 NuGet 包变得异常容易。我之前已经 blogged 讨论过这个问题,但本质上它只是几个步骤。请注意,目前这只是一个 RC1,还不是稳定版本。
安装 ASP.NET and Web Tools 2015 (RC1 Update 1) VS2015 更新。
打开 VS2015 并创建一个新的 Class 库包项目。
将您的代码添加到库中,并根据您可能需要的任何更改配置 project.json 文件。以defaultproject.json文件为例
Right-click 和 select 属性菜单项。在“构建”选项卡中 select“在构建时生成输出”。构建项目。
大功告成。转到项目中的工件文件夹,在我的例子中是“artifacts\bin\AwesomeSoft.TextConverter\Debug”。
您应该会看到已经创建的 NuGet 包,以及之前指定的针对每个框架的文件夹。
试用 OctoPack:https://www.nuget.org/packages/OctoPack/
只需将 nuget 包添加到您的项目中。
如果你想每次构建发布时都构建它,添加
到 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Whatever' ">
部分
下一行:
<RunOctoPack>true</RunOctoPack>
可以在此处找到有关微调的更多信息:https://github.com/OctopusDeploy/OctoPack
还有另一种替代方案,称为 NuPack:
How-to-create-a-nuget-package-on-each-Visual-Studio-with-NuPack
它是一个在构建时自动生成 nuget 包的 nuget 包。
VS4MAc 已经支持此功能,您可以在 Windows
上将其作为 VS 的扩展获取
在 Visual Studio 2015 年之前,将您的项目设置为自动生成 NuGet 包非常简单。具体来说,您做了:
- 将 .nuspec 文件添加到您的项目
- 在解决方案右键单击上下文菜单中启用 NuGet 包还原
- 编辑项目 .csproj 文件并将构建 属性
<BuildPackage>
设置为 true
就是这样!
但是,从 VS 2015 开始,MSBuild-integrated package restore has been removed 并被新的自动包还原取代。虽然这些都是好消息,但似乎将构建 属性 <BuildPackage>
设置为 true 不再触发自动包构建。
这是一个重大的功能中断!有没有一种方法可以在不使用 post-build 事件的情况下设置 NuGet 的自动构建?具体来说,我正在寻找 MSBuild 解决方案,因为它构成了我的构建工作流程的 backbone。
VS2015 中有一个 Class 库包的移动,这使得创建 NuGet 包变得异常容易。我之前已经 blogged 讨论过这个问题,但本质上它只是几个步骤。请注意,目前这只是一个 RC1,还不是稳定版本。
安装 ASP.NET and Web Tools 2015 (RC1 Update 1) VS2015 更新。
打开 VS2015 并创建一个新的 Class 库包项目。
将您的代码添加到库中,并根据您可能需要的任何更改配置 project.json 文件。以defaultproject.json文件为例
Right-click 和 select 属性菜单项。在“构建”选项卡中 select“在构建时生成输出”。构建项目。
大功告成。转到项目中的工件文件夹,在我的例子中是“artifacts\bin\AwesomeSoft.TextConverter\Debug”。
您应该会看到已经创建的 NuGet 包,以及之前指定的针对每个框架的文件夹。
试用 OctoPack:https://www.nuget.org/packages/OctoPack/
只需将 nuget 包添加到您的项目中。
如果你想每次构建发布时都构建它,添加
到 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Whatever' ">
部分
下一行:
<RunOctoPack>true</RunOctoPack>
可以在此处找到有关微调的更多信息:https://github.com/OctopusDeploy/OctoPack
还有另一种替代方案,称为 NuPack:
How-to-create-a-nuget-package-on-each-Visual-Studio-with-NuPack
它是一个在构建时自动生成 nuget 包的 nuget 包。
VS4MAc 已经支持此功能,您可以在 Windows
上将其作为 VS 的扩展获取