如何构建 dotnet core snap?

如何构建 dotnet core snap?

我有一个 dotnet core 项目,想将其打包成 snap 包。

然而“创建你的第一个 snap” 教程使用 dotnet 插件会导致以下错误:

The plugin used by part 'my-part' does not support snaps using base 'core18'

我在这里有什么选择,我是否以某种方式瞄准了错误的版本?

dotnet 插件是否过时或不受支持?

我是否应该使用不同的插件(如 dump)来使用已经构建的二进制文件?

答案1

我找到了答案,这对 dotnet core 开发人员来说是个坏消息

dotnet 插件尚未更新以使用基础“core18”

但是,如果你将基础更改为“核心”,那么插件确实可以工作,但前提是你的目标是 dotnet core 2.0 或更早版本。

遗憾的是我的项目是 dotnet core 2.1。尝试构建我的项目时出现以下问题:

The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1

看过之后该插件的 snapcraft 源代码,似乎有一个隐藏的、完全没有记录的选项来指定要使用的 dotnet core 版本。对我来说,如下设置允许构建继续:

dotnet-runtime-version: 2.1.9

snapcraft 代码尝试在此 JSON 文件在版本运行时字段。

然而,解决这个问题却让我遇到了 dotnet 构建完成后出现的下一个错误:

join() argument must be str or bytes, not 'NoneType'

谷歌搜索后发现这是一个 python 错误,而不是 dotnet 构建错误

有一个预先存在的错误报告Snapcraft 在捕捉 .net core 控制台应用程序时失败

同时,我将尝试预先构建一个独立的应用程序,并使用转储插件来进行制作。

相关内容