Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 有没有一种简单的方法可以从VisualStudio2015项目中自动创建NuGet包?_Msbuild_Visual Studio 2015_Nuget_Nuget Package Restore - Fatal编程技术网

Msbuild 有没有一种简单的方法可以从VisualStudio2015项目中自动创建NuGet包?

Msbuild 有没有一种简单的方法可以从VisualStudio2015项目中自动创建NuGet包?,msbuild,visual-studio-2015,nuget,nuget-package-restore,Msbuild,Visual Studio 2015,Nuget,Nuget Package Restore,在Visual Studio 2015之前,将项目设置为自动生成NuGet包是很简单的。具体来说,你做到了: 将.nuspec文件添加到项目中 在解决方案右键单击上下文菜单中启用NuGet Package Restore 编辑project.csproj文件并将build属性设置为true 就这样 但是,从VS 2015开始,由新的自动软件包恢复取代。虽然这些都是好消息,但将build属性设置为true似乎不再触发自动包构建 这是功能的重大突破!有没有一种方法可以在不使用生成后事件的情况下设置N

在Visual Studio 2015之前,将项目设置为自动生成NuGet包是很简单的。具体来说,你做到了:

将.nuspec文件添加到项目中 在解决方案右键单击上下文菜单中启用NuGet Package Restore 编辑project.csproj文件并将build属性设置为true 就这样

但是,从VS 2015开始,由新的自动软件包恢复取代。虽然这些都是好消息,但将build属性设置为true似乎不再触发自动包构建


这是功能的重大突破!有没有一种方法可以在不使用生成后事件的情况下设置NuGet的自动生成?具体地说,我正在寻找一个MSBuild解决方案,因为它构成了我构建工作流程的主干。

VS2015中有一个迁移到类库包的功能,这使得创建NuGet包非常容易。我以前也说过,但基本上只是几个步骤。请注意,目前这只是一个RC1,还不是一个稳定的版本

将更新安装到VS2015

打开VS2015并创建一个新的类库包项目

将代码添加到库中,并配置project.json文件,其中包含可能需要的任何更改。下面以project.json文件为例

在项目上单击鼠标右键,然后选择“属性”菜单项。在“生成”选项卡中,选择“生成时生成输出”。构建项目

你完了。转到项目中的artifacts文件夹,在我的例子中是“artifacts\bin\AwesomeSoft.TextConverter\Debug”

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

试试OctoPack:

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

如果您想在每次构建发行版时都构建它,请添加 截 下一行:

 <RunOctoPack>true</RunOctoPack>

有关微调的更多信息可在此处找到:

还有另一种称为NuPack的替代方案:


它是一个在构建时自动生成nuget包的nuget包。

VS4MAc已经支持此功能,您可以将其作为Windows上VS的扩展


了解构建工作流如何依赖于此是很有趣的,但从VS 2015开始,.xproj项目的输出只是NuGet包,它更适合您的需要..xproj?这是我第一次听说它。关于此项目文件类型,web上似乎有分散的信息。您是否愿意详细说明如何创建C项目或将其转换为.xproj以生成nuget包?这将是一个很好的答案。这个功能还存在吗?我已将ASP.NET和Web工具更新为版本14.1.21111,并且没有类库包项目类型。不确定它是否被重命名或删除,并且类库包的所有搜索结果的日期为2016年1月。不,它已被删除。您需要在project.json文件中添加生成后脚本或手动执行dotnet pack命令。这似乎仅适用于较新的项目类型,而不适用于较旧的类库项目。