Pre-generated XmlSerializers (CrmService)for Plugin

Please refer this article!21916E8556D908E!175.entry?sa=260352433

I am just writing out the main steps from it and the steps where we need to strong sign the assembly so that it could be used within Plugin.

Add web reference to CrmService.asmx


Go to “web references” folder.

Copy Reference.cs file to a new folder.

Rename it to CrmServiceSerialized.cs

Open the CrmServiceSerialized.cs class, rename the class to CrmServiceSerialized.

namespace MyApplication.CrmServiceSerialized

Change the CrmService property

public CrmService(string url) {

           this.Url = url;

Complie it to a dll

If we want to use the Serialized dll within Plugin we need to strong sign it

sn.exe -k g.snk

csc /t:library /out:CrmServiceSerialized.dll CrmServiceSerialized.cs /keyfile:g.snk

To pre generate a strong named XmlSerializer dll

sgen.exe /p CrmServiceSerialized.dll /compiler:/keyfile:g.snk

Next again open CrmServiceSerialized.cs and comment out all occurrences of [System.Xml.Serialization.XmlIncludeAttribute using Find and replace.

Next we need to add the attribute

“[System.Xml.Serialization.XmlSerializerAssemblyAttribute(AssemblyName = "CrmServiceSerialized.XmlSerializers")]”

to the “CrmServiceSerialized” class.

Again generate the strong name assembly using the same key

csc /t:library /out:CrmServiceSerialized.dll CrmServiceSerialized.cs /keyfile:g.snk

Now we can add reference to CrmServiceSerialized.dll in our plugin to use it. Here also need to place CrmServiceSerialized.dll  and CrmServiceSerialized.XmlSerializers.dll to the GAC.

Check this link as well


Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

Share your thoughts

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s