在Visual Studio 2015之前,将项目设置为自动生成NuGet包非常简单。具体来说,你做了:
<BuildPackage>
设置为true 就是这样!
但是,从VS 2015开始,MSBuild-integrated package restore has been removed并替换为新的自动包恢复。虽然这些都是好消息,但似乎将构建属性<BuildPackage>
设置为true不再触发自动包构建。
这是功能的重大突破!有没有办法在不使用后期构建事件的情况下设置NuGet的自动构建?具体来说,我正在寻找一个MSBuild解决方案,因为它构成了我构建工作流程的支柱。
答案 0 :(得分:6)
尝试OctoPack:https://www.nuget.org/packages/OctoPack/
只需将nuget包添加到您的项目中即可。
如果您想在每次构建版本时构建它,请添加
到<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Whatever' ">
部分
下一行:
<RunOctoPack>true</RunOctoPack>
有关微调的更多信息,请访问:https://github.com/OctopusDeploy/OctoPack
答案 1 :(得分:1)
VS2015中有一个类库包的转移,这使得创建NuGet包非常容易。我以前blogged对此有所了解,但基本上只是几个步骤。请注意,目前这只是一个RC1,而不是一个稳定的版本。
将ASP.NET and Web Tools 2015 (RC1 Update 1)更新安装到VS2015。
打开VS2015并创建一个新的类库包项目。
将您的代码添加到库中,并使用您可能需要的任何更改来配置project.json文件。以default project.json文件为例。
右键单击项目,然后选择“属性”菜单项。在“构建”选项卡中,选择“在构建时生成输出”。建立项目。
你已经完成了。转到项目中的artifacts文件夹,在我的例子中是“artifacts \ bin \ AwesomeSoft.TextConverter \ Debug”。
您应该看到已经创建的NuGet包,以及针对之前指定的每个框架的文件夹。
答案 2 :(得分:0)
另一个名为NuPack的替代方案:
How-to-create-a-nuget-package-on-each-Visual-Studio-with-NuPack
这是一个nuget包,可以在构建时自动生成nuget包。
答案 3 :(得分:0)
VS4MAc已经支持此功能,您可以将其作为Windows上VS的扩展