模块中的未知错误:
System.Reflection.TargetInvocationException: Exception has been thrown
by the target of an invocation. —> System.TypeLoadException: Could
not load type ‘Microsoft.WindowsAzure.Storage.Blob.CloudAppendBlob’
from assembly ‘Microsoft.WindowsAzure.Storage,Version=4.3.0.0,
Culture=neutral,PublicKeyToken=31bf3856ad364e35’. at
MyDotNetActivity.SampleActivity.Execute(IEnumerable1 linkedServices,
1 datasets,Activity activity,IActivityLogger logger) at
IEnumerable
Microsoft.Azure.Management.DataFactories.Runtime.ActivityExecutor.Execute(Object
job,String configuration,Action`1 logAction) — End of inner
exception stack trace — at
System.RuntimeMethodHandle.InvokeMethod(Object target,Object[]
arguments,Signature sig,Boolean constructor) at
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,
Object[] parameters,Object[] arguments) at
System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags
invokeAttr,Binder binder,Object[] parameters,CultureInfo culture)
at
Microsoft.DataPipeline.Compute.HDInsightJobExecution.ReflectingActivityWrapper.Execute()
in
f:_Bld\12752\4106\Sources\Product\Common\Compute\src\HDIComputeDelegatorJob\ReflectingActivityWrapper.cs:line
44 at
Microsoft.DataPipeline.Compute.HDInsightJobExecution.JobWrapper.RunJob()
in
f:_Bld\12752\4106\Sources\Product\Common\Compute\src\HDIComputeDelegatorJob\JobWrapper.cs:line
94 at
Microsoft.DataPipeline.Compute.HDInsightJobExecution.Launcher.Main(String[]
args) in
f:_Bld\12752\4106\Sources\Product\Common\Compute\src\HDIComputeDelegatorJob\Launcher.cs:line
78.
从自述文件:
This sample allows you to author a custom .NET activity for ADF that is not constrained to assembly versions used by the ADF launcher (e.g.,WindowsAzure.Storage v4.3.0,Newtonsoft.Json v6.0.x,etc.).
The code includes an abstract base class (CrossAppDomainDotNetActivity) that implements app-domain isolation and a sample derived class (MyDotNetActivity) that demonstrates using WindowsAzure.Storage v6.2.0.
Note: The public types exposed by the ADF SDK are not serializable across app domain boundaries. As such,the derived class must provide pre-execution logic (PreExecute) to process the ADF objects into a serializable object that is then passed to the core logic (ExecuteCore).