我目前无法在我的MacOS中使用函数cli版本运行timetrigger函数 2.3.148 和 2.3.199 :
这是我的CSproj:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <AzureFunctionsVersion>v2</AzureFunctionsVersion> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.SendGrid" Version="3.0.0" /> <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.24" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.1.0" /> </ItemGroup> <ItemGroup> <None Update="host.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Update="local.settings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> </ItemGroup> </Project>
而且所有的时间触发器都不工作(老的和新的)。
有什么想法吗?
因为您在本地运行,所以可能需要一个Azure存储模拟器。而且,由于您运行的是MacOS,所以默认的Azure存储仿真器无法做到这一点。
看一看 Azurite .
Azure Blob、队列和表存储的轻型服务器克隆,它以最小的依赖性模拟它支持的大多数命令。 要运行azurite,需要在系统上安装node.js>=6.0。Azurite在Windows、Linux和OS X上跨平台工作。 安装之后,您可以简单地使用npm安装azurite,npm是node.js包管理工具,它包含在每个node.js安装中。 $ npm install -g azurite
Azure Blob、队列和表存储的轻型服务器克隆,它以最小的依赖性模拟它支持的大多数命令。
要运行azurite,需要在系统上安装node.js>=6.0。Azurite在Windows、Linux和OS X上跨平台工作。
安装之后,您可以简单地使用npm安装azurite,npm是node.js包管理工具,它包含在每个node.js安装中。
$ npm install -g azurite