如何在带有 ARM64 的笔记本电脑上编译一个 c# dotnet 5 独立函数应用程序

How to compile a c# dotnet 5 isolated function app on notebook with ARM64

我有一本 MacArm64 的书 cpu,我需要编译一个用 c# 编写的带有 dotnet 5 的 Azure 函数应用程序。我也有与 Windows 11 ARM64 运行 相似之处。 azure 函数应用程序引用这些包,它们需要 dotnetcore3.1 可用。

    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage" Version="4.0.4" />

即使是新创建的空函数应用程序也需要这些引用,否则我无法编译由 func new 使用 dotnet-isolated 创建的蓝图。

有没有人知道我如何为 Mac OS ARM64 安装 dotnetcore3.1 或为 Windows ARM64 安装 dotnetcore3.1 或用包替换扩展,那不需要dotnetcore3.1??

顺便说一句:它在 x64 MacBook 上工作正常,我只是用 brew 安装了 dotnet5 和 dotnetcore3.1 然后 dotnet build 成功了。

我知道这不是 100% 的编程问题,但我相信 Whosebug 仍然是最好的提问地点。

Does anybody have any idea, how I can either install dotnetcore3.1 for Mac OS ARM64 or dotnetcore3.1 for Windows ARM64 or replace the Extensions with a package, that does not need dotnetcore3.1??

基于 Arm 的 Windows PC 上,所有 Arm64 版本的 .NET 都安装到正常 C:\Program Files\dotnet\ 文件夹。但是,当您安装 x64 版本的 .NET 6 SDK 时,它会安装到 C:\Program Files\dotnet\x64\ 文件夹中。

macOS 具有可用于安装 .NET 6 SDK 的独立安装程序:

基于Arm的Mac上,.NET的所有Arm64版本都安装到正常_/usr/local/share/dotnet/_ 文件夹。但是,当您安装 x64 版本的 .NET 6 SDK 时,它会安装到 /usr/local/share/dotnet/x64/dotnet/ 文件夹中。

对于基于 ARM 的 macOS PC,请参考此 documentation for ARM-based Windows PC and this MSFT documentation

我找不到问题的“真正”解决方案,但我能够说服我的同事使用 dotnet 6 升级到函数应用程序版本 4。 使用 dotnet 6 函数应用程序不再依赖 dotnetcore3.1 来构建解决方案,因此使用 Windows ARM64 或 Mac OS ARM64 构建的 dotnet 6 非常简单。

感谢所有试图提供帮助的人!