我已经能够使用net core编写Azure函数来运行。我现在已经添加了对“WindowsAzure.Storage”的引用,并且当我使用本地测试环境(“func host start”)时,我现在正在获得loaderexceptions。
我不能使用默认的表存储绑定器,因为我需要在不同的表中插入记录。
我使用预编译的函数,并在OSX上使用VSCode进行开发。如果支持或不支持此方案,我找不到任何信息。甚至可以使外部依赖项与Azure函数的2.0运行时一起使用。
本地SDK /运行时是
我的csproj文件
<select id="vehicleLicensePlateState">
我的部分功能
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.0-beta3" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="3.0.0-beta3" />
<PackageReference Include="WindowsAzure.Storage" Version="8.6.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="SearchTwitter\function.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
Function.json
namespace MyProject.Functions
{
public class SearchFunction
{
public async static Task Run(TimerInfo myTimer, Binder binder, TraceWriter log)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(System.Environment.GetEnvironmentVariable("StorageConnection", EnvironmentVariableTarget.Process));
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable searchMetaDataTable = tableClient.GetTableReference("SearchMetaData");
await searchMetaDataTable.CreateIfNotExistsAsync();
}
}
答案 0 :(得分:1)
Azure功能托管环境默认提供Azure存储名称空间。您可以在此处找到更多详细信息:https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-csharp#referencing-external-assemblies
但是,如果这不是您正在寻找的,请放心,您可以通过将其添加到Function的csproj文件来使用任何外部NuGet包。有关如何执行此操作的示例,请查看此GitHub仓库中的示例代码https://github.com/lindydonna/CSharpHttpCore/blob/master/HttpTriggerCore/HttpTriggerCore.csproj
答案 1 :(得分:1)
对于预编译函数,WindowsAzure.Storage
包是Microsoft.NET.Sdk.Functions
的子依赖项,因此您无需单独引用它。
如果您仍然引用它,并且引用的版本错误,您将在整个地方发生冲突。
对Microsoft.NET.Sdk.Functions
的任何子依赖应该采取这种谨慎措施。否则,完全支持引用NuGets。