有没有办法使用NuGet或其他方式打包ASP.NET Core应用程序?

时间:2017-01-04 20:44:59

标签: asp.net-core nuget octopus-deploy

我正在构建一个可以使用dotnet publish发布的ASP.NET Core应用程序。到目前为止,非常好。

我对打包该应用程序感兴趣,因此我可以在NuGet服务器上发布它。但是,dotnet pack似乎没有包含足够的信息来自行重新创建网站 - 只是dll文件。

有没有办法通过dotnet pack或其他方法创建NuGet包,还是我需要自己手动打包输出目录中的文件?

2 个答案:

答案 0 :(得分:5)

您可以在packOptions文件中手动配置project.json设置,以包含您需要的文件夹/文件,例如

"packOptions": {
    "files": {
        "include": [ "wwwroot/**.*", "Views/**.*" ] --add anything else that you need in here
    }
}

然后运行

dotnet pack

这对我有用。该软件包现在包含图像,js文件等。

答案 1 :(得分:4)

从2017年1月开始,没有办法实现这一目标,尽管ASP.NET Core现在非常新鲜,我仍然希望有更新更好的答案。

为ASP.NET Core网站创建单个文件包的最佳方法是使用dotnet publish发布您的应用程序,并使用ZIP实用程序打包该目录(或Octo.exe如果需要八爪鱼的NuGet包。)

截至2017年1月的当前工具:Octopack,它使用NuGet,cannot package .NET核心项目。 NuGet本身是一个需要清单或项目文件才能工作的最小工具,而dotnet pack只会打包源文件,而不是资产(请参阅the answer below了解相关方法)。