Azure函数Azure Data Lake的自定义dll

时间:2017-03-23 19:10:14

标签: azure azure-functions azure-data-lake

尝试在我的.csx文件中导入Azure Data Lake SDK的某些自定义dll时出现以下错误。错误如下:

Function started (Id=1d6d553e-0ef5-45f2-bffb-dea4ad869424)

Function compilation error

D:\home\site\wwwroot\bigdataanalytics-azurefunction\ingestservices\NewsService.csx(2,1): warning AF006: The reference '..\bin\Microsoft.Rest.ClientRuntime.dll' is invalid. If you are attempting to add a framework reference, please remove the '.dll' file extension.

D:\home\site\wwwroot\bigdataanalytics-azurefunction\ingestservices\NewsService.csx(2,1): error CS0006: Metadata file '..\bin\Microsoft.Rest.ClientRuntime.dll' could not be found

D:\home\site\wwwroot\bigdataanalytics-azurefunction\ingestservices\NewsService.csx(3,1): error CS0006: Metadata file '..\bin\Microsoft.Rest.ClientRuntime.Azure.dll' could not be found

D:\home\site\wwwroot\bigdataanalytics-azurefunction\ingestservices\NewsService.csx(4,1): error CS0006: Metadata file '..\bin\Microsoft.Azure.Management.DataLake.Store.dll' could not be found

我的项目结构如下:

enter image description here

project.json配置:

{
    "frameworks": {
        "net45": {
            "dependencies": {
                "Microsoft.Rest.ClientRuntime": "2.3.2",
                "Microsoft.Rest.ClientRuntime.Azure": "3.3.2",
                "Microsoft.Azure.Management.DataLake.Store": "1.0.4"
            }
        },
        "net46": {
            "dependencies": {
                "Newtonsoft.Json": "9.0.1",
                "System.Runtime.Serialization.Json": "4.3.0",
                "System.Net.Requests": "4.3.0"
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

即使您引用的CSX文件位于子文件夹中,引用也是相对于函数文件夹的,因此您不想使用#r "..\bin\assembly.dll",而只使用#r "assembly.dll"。< / p>

对于您的NuGet包,您打算使用的所有引用都必须位于net46框架下,否则您的函数将不会使用它们(直到仅针对该框架)。

我希望这有帮助!