Visual studio Visual Studio代码-图像操作系统“;linux“;无法在此平台上使用错误

Visual studio Visual Studio代码-图像操作系统“;linux“;无法在此平台上使用错误,visual-studio,azure,docker,Visual Studio,Azure,Docker,我一直在关注这里发布的教程: 我尝试了构建并推送物联网边缘解决方案步骤中第6步列出的构建并推送物联网边缘解决方案,但出现以下错误: 步骤1/3:来自mcr.microsoft.com/azureiotdEdge函数绑定:1.0.0-linux-amd64 1.0.0-linux-amd64:从AzureIoEdge函数绑定中提取 无法在此平台上使用映像操作系统“linux” 所以我注意到CSharpFunction模块文件夹中有几个Dockerfile对象。1个是Windows,另外3个是li

我一直在关注这里发布的教程:

我尝试了构建并推送物联网边缘解决方案步骤中第6步列出的构建并推送物联网边缘解决方案,但出现以下错误:

步骤1/3:来自mcr.microsoft.com/azureiotdEdge函数绑定:1.0.0-linux-amd64 1.0.0-linux-amd64:从AzureIoEdge函数绑定中提取 无法在此平台上使用映像操作系统“linux”


所以我注意到CSharpFunction模块文件夹中有几个Dockerfile对象。1个是Windows,另外3个是linux,包括导致错误的那一个。由于所有docker文件以及生成和推送应用程序的命令都是生成的,因此有哪些设置或其他选项可用于强制其使用正确的docker容器进行生成和/或部署?TIA

发现我要查找的设置位于deployment.template.json文件本身。在项目文件夹中,VS Code创建了四个docker文件:

Dockerfile.amd64

Dockerfile.amd64.debug

Dockerfile.arm32v7

Dockerfile.windows-amd64

在CSharpFunction字典中有一个必须引用容器的图像键。默认设置为:

"${MODULES.CSharpFunction.amd64}"
将其更改为:

"${MODULES.CSharpFunction.windows-amd64}"

解决了问题。

很好。本教程中需要注意的另一件事是第3步。您可以用任何格式命名modulename,如骆驼符号。但是,在输入映像存储库名称时,必须首先输入{registry server name}/modulename。modulename必须小写。