尝试在我的.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
我的项目结构如下:
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"
}
}
}
}
答案 0 :(得分:1)
即使您引用的CSX文件位于子文件夹中,引用也是相对于函数文件夹的,因此您不想使用#r "..\bin\assembly.dll"
,而只使用#r "assembly.dll"
。< / p>
对于您的NuGet包,您打算使用的所有引用都必须位于net46
框架下,否则您的函数将不会使用它们(直到仅针对该框架)。
我希望这有帮助!