我正在构建一个可以使用dotnet publish
发布的ASP.NET Core应用程序。到目前为止,非常好。
我对打包该应用程序感兴趣,因此我可以在NuGet服务器上发布它。但是,dotnet pack
似乎没有包含足够的信息来自行重新创建网站 - 只是dll文件。
有没有办法通过dotnet pack
或其他方法创建NuGet包,还是我需要自己手动打包输出目录中的文件?
答案 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了解相关方法)。