2013-06-27 32 views
1

我正在創建一個Disassociate消息Project(自定義實體)的插件;與User實體具有N:N關係。它不工作。這是代碼。應用程序域在調試插件時卸載

 IOrganizationService service = localContext.OrganizationService; 
     IPluginExecutionContext context = localContext.PluginExecutionContext; 

     // Get Primary Entity 
     EntityReference target = (EntityReference)context.InputParameters["Target"]; 

     if (target.LogicalName == "new_project" || target.LogicalName == "systemuser") 
     { 
      Relationship relationShip = (Relationship)context.InputParameters["Relationship"]; 

      // Get Related Entities 
      EntityReferenceCollection relatedentities = (EntityReferenceCollection)context.InputParameters["RelatedEntities"]; 
      foreach (EntityReference rel in relatedentities) 
      { 
       // Check Related Entity Logical & Schema name 
       if (rel.LogicalName == "new_project" && relationShip.SchemaName == "new_systemuser_new_project") 
       { 
        Entity user = service.Retrieve("systemuser", target.Id, new ColumnSet(true)); 
        Entity project = service.Retrieve("new_project", rel.Id, new ColumnSet(true)); 

        // Grant access 
        RevokeAccessRequest revokeAccessRequest = new RevokeAccessRequest 
        { 
         Revokee=target, 
         Target = rel 
        }; 

        service.Execute(revokeAccessRequest); 
       } 
      } 
     } 

但我無法使用插件註冊工具來調試此插件。它返回消息「App Domain Unloaded」。

enter image description here

我不知道什麼是錯的這個插件。請幫忙。

回答

0

我已經解決了這個問題。 我已經註冊了這個插件的更新消息,則改爲RegisterFile.crmregister

MessageName="Disassociate"PrimaryEntityName=""

也改變了我的插件類的默認構造函數。

base.RegisteredEvents.Add(new Tuple<int, string, string, Action<LocalPluginContext>>(10, "Disassociate", "", new Action<LocalPluginContext>(ExecutePreValidateProjectUpdate))); 

希望這會幫助面臨同樣問題的人。

相關問題