I was developing a custom activity today and I had an output argument that was of the type EntityReference. However, when I tried to run it I got a weird error:
"The argument of type 'Microsoft.Xrm.Sdk.EntityReference' cannot be used. Make sure that it is declared on an activity."
The argument declaration looked like this:
[Output("The Output of special entity")]
[ReferenceTarget("new_specialentity")]
public OutArgument
And I am trying to set it with the following code:
specOut = new OutArgument
Entity outent = entities.Entities[0];
specOut.Set(executionContext, outent.ToEntityReference());
I had also tried creating the entity reference with a default contstructor and filling id and logicalname, with the constructor setting id and logicalname. I had even tried setting it using the entity directly but they all give the same error. I had not found anything useful on the internet or in the SDK.
After some rethinking I looked closer at the error message and thought that there might be something wrong with the declaration or definition of the OutArgument. And after some tries I found that the error was that I had created a new OutArgument which is wrong, it is precreated and this was the reason for the error. Hence I just removed the line:
specOut = new OutArgument
and it work like it should have from the beginning.
It is always interesting to work with new technology!
Gustaf Westerlund
CEO, Chief Architect and co-Founder at CRM-konsulterna AB
www.crmkonsulterna.se
thanks
ReplyDelete