【问题标题】:Assembly referencing in azure-functions天蓝色函数中的程序集引用
【发布时间】:2018-07-17 03:56:22
【问题描述】:
#r "System.Data"
#r "System.Threading"
#r "Microsoft.WindowsAzure.Storage"

using System.Net;
using System.Data;
using System.Data.SqlClient;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.DataMovement;




public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, 
TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");

// parse query parameter
string name = req.GetQueryNameValuePairs()
    .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
    .Value;

if (name == null)
{
    // Get request body
    dynamic data = await req.Content.ReadAsAsync<object>();
    name = data?.name;
}

return name == null
    ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
    : req.CreateResponse(HttpStatusCode.OK, "Hello " + name);

}

我正在尝试使用 Httptriggered azure 函数在云 blob 容器之间运行 DataMovement。但是我不断收到以下错误:

2018-02-06T23:59:58.392 run.csx(12,38):错误 CS0234:命名空间“Microsoft.WindowsAzure.Storage”中不存在类型或命名空间名称“DataMovement”(您是否缺少装配参考?) 2018-02-06T23:59:58.407 执行函数时出现异常:函数。 Microsoft.Azure.WebJobs.Script:脚本编译失败。 2018-02-06T23:59:58.407 功能完成(失败,Id=72ab129f-706e-497c-ac70-fcebdd3b41ec,持续时间=131ms)

我可以使用比此处提供的列表更多的程序集吗: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-csharp#referencing-external-assemblies

还是没有?如果是,怎么做?

【问题讨论】:

  • 考虑切换到预编译函数而不是 csx 脚本。在那里引用库和 NuGet 包要简单得多。

标签: c# azure azure-functions


【解决方案1】:

命名空间“Microsoft.WindowsAzure.Storage”中不存在类型或命名空间名称“DataMovement”

根据您的错误,我们知道 DataMovement 引用不在 Microsoft.WindowsAzure.Storage 包中。

它属于“Microsoft.Azure.Storage.DataMovement”包。 您可以参考我的方法在 azure 门户中的 Azure 功能中安装它。

单击Azure函数>查看文件>添加一个名为'project.json'的新文件(如果它不存在)。在此文件中写入以下代码然后单击运行安装包:

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.Azure.Storage.DataMovement": "0.7.0"
      }
    }
   }
}

然后我们可以使用“Microsoft.WindowsAzure.Storage.DataMovement”参考:

我可以使用比此处提供的列表更多的程序集

是的,您可以在 project.json 文件中添加程序集并运行它来安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2015-09-25
    相关资源
    最近更新 更多