无法在 VS 2015 中构建 Azure 数据工厂项目

Cannot build Azure Data Factory project in VS 2015

我无法在 Visual Studio 2015(更新 3)中构建我的 Azure 数据工厂项目。

我收到此错误:

 Error    The "ADFCompilerTask" task failed unexpectedly.

System.AggregateException: One or more errors occurred. --->

System.NotImplementedException: Not implemented (Exception from HRESULT: 0x80004001 (E_NOTIMPL))   
 at EnvDTE.Project.get_FileName()  
 at Microsoft.VSAuthoring.SDK.BuildSystem.JsonCompilerTask.get_ProjectHierarchy()
 at Microsoft.WindowsAzure.DataFactoryStudio.DataFactoryProject.ProjectSystem.ADFCompilerTask.<ExecuteAsync>d__2.MoveNext()
 --- End of inner exception stack trace ---    
 at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean  includeTaskCanceledExceptions)    
 at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)    
 at Microsoft.VSAuthoring.SDK.BuildSystem.JsonCompilerTask.Execute()    
 at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
 at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask>d__26.MoveNext()
 ---> (Inner Exception #0) System.NotImplementedException: Not implemented (Exception from HRESULT: 0x80004001 (E_NOTIMPL))    
 at EnvDTE.Project.get_FileName()    
 at Microsoft.VSAuthoring.SDK.BuildSystem.JsonCompilerTask.get_ProjectHierarchy()
 at Microsoft.WindowsAzure.DataFactoryStudio.DataFactoryProject.ProjectSystem.ADFCompilerTask.<ExecuteAsync>d__2.MoveNext()<--- 

在我的项目中,我定义了几个 datasets/pipeline/linked 服务。所有这些都可以通过复制到 Azure 门户来部署,所以它看起来不像是验证问题。

我尝试重新安装 Azure DataFactory 工具,但没有帮助。

我使用 Visual Studio 2015 版本 14.0.25431.01 更新 3、Azure Data Lake Tools 2.2.5000 和 Azure DataFactory Tools 0.9.3527.2 在 Windows 7 上工作。

我该如何解决这个问题?

我要猜猜这个...

我怀疑您在 VS 中的 JSON 某处定义了一个属性,这是错误的情况。特别是如果所有时间片验证都很好。

例如:

"isPaused": true,           // Correct
"pipelineMode": "Scheduled" //Correct

VS

"ispaused": true, 
"pipelinemode": "Scheduled"

听起来很疯狂。并非所有 JSON 元素都得到 Visual Studio 的完全验证,并且当您遇到未实现的异常时,可能就是这样。 VS 中的 ADFv1 架构不完整。

在您的 JSON 中搜索绿色下划线!

此外,Azure 门户对区分大小写问题的容忍度更高,如果您将某些内容复制并粘贴到门户中,它会在部署前自动更正它们。

如果失败,请尝试 Visual Studio 2017,看看它是否对错误处理更有帮助。

希望对您有所帮助。

只是为了补充上面的答案。我遇到了类似的问题,但找不到我的 JSON 的任何案例问题。然而,我确实发现,当我将每个组件加载到 Visual Studio 编辑器时,我收到通知说我的两个管道定义文件中的行结尾已损坏 - LF 而不是 CR/LF.

我让 VS 更正那些行终止符,重新保存和部署,一切正常。

我只是想提一下,因为这个问题在编辑器屏幕上并不总是很明显。