2011-11-23 64 views
1

運行此代碼時出現錯誤。來自「子工作流程」的WorkflowInspectionServices.GetActivities

IEnumerable<Activity> activityList = WorkflowInspectionServices.GetActivities(activityCurrent); 


if (activityList.Count() <= 0) 

我有許多工作流程,我想通過它的活動。我沒有問題,同時我在工作流中使用的活動是代碼活動或本地活動。問題來了,當我在工作流程中使用另一個工作流程(我希望我是有意義的)

錯誤是在activityList.Count()這是不能創建未知類型'{clr-namespace:....PhysicalInbound}目標'。

實際上,如果將「子工作流程」的內容放在「父級」工作流程中,它就可以工作。我猜它是與進口要做,但我一直沒能弄明白爲止:S

堆棧跟蹤:

at System.Xaml.XamlObjectWriter.WriteStartObject(XamlType xamlType) 
    at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter) 
    at System.Activities.XamlIntegration.FuncDeferringLoader.FuncFactory`1.Evaluate() 
    at System.Activities.DynamicActivity.OnInternalCacheMetadata(Boolean createEmptyBindings) 
    at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList`1& validationErrors) 
    at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack`1& activitiesRemaining, ActivityCallStack parentChain, IList`1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback) 
    at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors) 
    at System.Activities.ActivityUtilities.CacheRootMetadata(Activity activity, LocationReferenceEnvironment hostEnvironment, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors) 
    at System.Activities.WorkflowInspectionServices.<GetActivities>d__0.MoveNext() 
    at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source) 

感謝您的時間,

瓊。

回答

0

我有同樣的問題。在我的情況下,這是因爲我把父工作流和「子工作流」放在同一個程序集中。

如果是你的情況,請嘗試將它們放入另一個程序集中,就像處理活動一樣。

+0

就是這樣,謝謝! – Arcayne

0

這是如何設計XAML服務外觀的一部分。您需要在ReaderSettings上設置LocalAssembly。原因是讀者不應該假設哪些程序集在XAML中被認爲是本地的,因爲它可能並且可能已經在不同的程序集中開發,然後加載工作流。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/bfbc0c01-7205-4fb4-8b3a-260c9d6db37f/loading-file-with-activityxamlservicesload-does-not-resolve-references-activities?forum=wfprerelease

https://social.msdn.microsoft.com/Forums/vstudio/en-US/0086f55d-3ed1-4015-90ca-ad8144178255/why-can-i-not-load-a-workflow-using-activityxamlservicesload-when-it-contains-a-custom-activity?forum=wfprerelease