在门户网站编写的Azure函数中包括NuGet程序包

时间:2019-07-18 07:00:52

标签: c# azure azure-functions

我在门户中创建了一个新的Azure函数,并想使用WindowsAzure.Storage NuGet程序包。鉴于默认模板是通过以下方式创建的:

#r "Newtonsoft.Json"

我认为我可以这样做:

#r "WindowsAzure.Storage" 

但是,当我这样做时,我得到了错误:

[Error] run.csx(2,1): error CS0006: Metadata file 'WindowsAzure.Storage' could not be found

在其他任何地方都看不到正在引用Newtonsoft.Json

如何在我的函数中包含此NuGet包(不构建VS或VS Code并进行部署)。另外,#r指令如果没有引入外部库和包,究竟能做什么呢?

3 个答案:

答案 0 :(得分:0)

好吧,所以每次我创建一个Function应用程序时,我大多是出于对智能的理解和工作的简便性而使用VS Code或Visual Studio。从Azure门户添加nuget

  1. 点击View Files并添加一个function.proj

enter image description here

  1. 现在在下面的代码中添加所需的任何nuget。
    <Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>
      </PropertyGroup>

      <ItemGroup>
        <PackageReference Include="WindowsAzure.Storage" Version="9.3.3"/>
      </ItemGroup>
    </Project>

保存后,您应该看到控制台更新,说明正在安装软件包。微软文档中对此的确没有很好的记录

答案 1 :(得分:0)

名称空间中存在更正

#r“ Microsoft.WindowsAzure.Storage”

而不是    #r“ WindowsAzure.Storage”

您可以参考-https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-csharp#binding-to-arguments

答案 2 :(得分:-1)

尝试使用#r“ Microsoft.WindowsAzure.Storage”

您还可以通过Kudu工具将自定义dll上传到功能应用中。然后您可以通过#r“ dll的路径”来引用dll

相关问题