“the specified type is not a known entity type” error while using early bound entity classes in CRM 2013


Hi,

We were writing a custom workflow activity that was using LINQ (early bound).

Here we had used ILMerge to merge the early bound assemblies with the workflow assembly.

The solution was to place the following attribute in the AssemblyInfo.cs of the workflow assembly (same goes for Plugin Assembly)

[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]

 

The helpful thread

http://social.microsoft.com/Forums/en-US/7c05f900-f930-46b3-a233-75a94ffca9c5/how-to-make-the-crm-2011-plugin-detect-types-from-early-bound-organisation-class?forum=crmdevelopment

Hope it helps..

 

 

How to – Remove duplicate objects in list in C#


Just sharing a sample code to remove duplicates from a list using LINQ

public class MyClass
{
public string ID { get; set; }
public string Value { get; set; }

}

List<MyClass> myList = new List<MyClass>();
var xrmOptionSet = new MyClass();
xrmOptionSet.ID = "1";
xrmOptionSet.Value = "100";
var xrmOptionSet1 = new MyClass();
xrmOptionSet1.ID = "2";
xrmOptionSet1.Value = "200";
var xrmOptionSet2 = new MyClass();
xrmOptionSet2.ID = "1";
xrmOptionSet2.Value = "100";
myList.Add(xrmOptionSet);
myList.Add(xrmOptionSet1);
myList.Add(xrmOptionSet2);

// here we are first grouping the result by label and then picking the first item from each group
var myDistinctList = myList.GroupBy(i => i.ID)
.Select(g => g.First()).ToList();

Hope it helps..

Load your programming emulators on the cloud & access it conveniently on virtual desktops with your preferred mobile device (iOS/Android/windows) remotely with CloudDesktopOnline.com. For effective team collaboration use a hosted SharePoint and exchange from Apps4Rent.

Advertisements

Specifying New Line in XML


Hi,

While specifying Data for one of the multiline column in a ListInstance we wanted to specify New Line in the content.

This is how we specified

The result

Hope it helps..

Fixed – Cannot obtain value of local or argument as it not available at the instruction pointer, possibly because it has been optimized away while debugging in Visual Studio


Hi,

Was facing this the above issue while trying to debug the code. The debugger was getting attached properly but it wasn’t showing values for the variables.
Unchecking the following option in the class library project properties fixed the issue

 

 

This helpful post.

http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx

Bye..

 

Advertisements

OptionSetId cannot be changed. EnumAttributeInfo.AttributeDescription.OptionSetId(089e077e-6055-446a-ad6e-326f0bee7c9c) != c0864f8b-2c13-e411-93ed-000d3a800961


We got this error while importing the solution. This issue is caused by having an optionset with same name but different guid.

The solution is to identify the field and delete it from the org where we are importing.

select name from optionsetview where optionsetid = ‘c0864f8b-2c13-e411-93ed-000d3a800961’ (the 2nd guid)

The helpful post

http://atriosystems.wordpress.com/2012/11/12/import-unmanaged-solution-error-optionsetid-cannot-be-changed/

Bye

CRM 2013 New and Beautiful getClientUrl() method instead of getServerUrl()


Sanghamitra's avatarSanghamitra Samantaray

In CRM 2013 Microsoft has introduced this new client context method called “getClientUrl”

This is the replacement to the previous method called “getServerUrl” that was present in CRM 2011.

This method was faulty because it always returns the server name in the URL as it is set up in the CRM deployment manager, irrespective of how the host url looks like.

this is issue in scenarios where users might have invoked CRM using the server IP address or fully qualified domain name etc.

because when in the java script we call getServerUrl it does not return the URL with the server name as it was used by the calling the host url, but that of what is stored in the server, which fails , in the situations where the server name is not accessible from the host machine but the IP or fully qualified name.

in order to correct this…

View original post 125 more words