Following on from last night’s session I would like to thank Dinesh Nanayakkara and Felix Hariyadi for preparing the code for the session which is available here. I have included links and some more information on some of the things discussed.
Firstly, to avoid the following error when creating strongly typed classes using the CrmSvrUtil:
“Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly ‘CrmSvcUtil, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0×8013141A) —> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0×8013141A)”
Download the updated SDK, with the signed version of the CrmSvrUtil http://download.microsoft.com/download/3/1/D/31D357F3-4EE1-48E7-8D75-F090D8FC97DFrorr/MicrosoftDynamicsCRM2011BetaSDK.exe
I have listed some of the other issues we encountered.
Running the plugin registration tool outside the server
When running the plugin registration tool from outside of the CRM server we encountered the following error:
“Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly ‘Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.
at Microsoft.Xrm.Sdk.Client.ServiceConfiguration`1.CreateLocalChannelFactory()
at Microsoft.Xrm.Sdk.Client.ServiceConfiguration`1.CreateChannelFactory(ClientCredentials clientCredentials)
at Microsoft.Xrm.Sdk.Client.DiscoveryServiceConfiguration.CreateChannelFactory(ClientCredentials clientCredentials)
at Microsoft.Xrm.Sdk.Client.ServiceProxy`1.get_ChannelFactory()
at Microsoft.Xrm.Sdk.Client.ServiceProxy`1.CreateNewChannel()
at Microsoft.Xrm.Sdk.Client.ServiceContextInitializer`1.Initialize(ServiceProxy`1 proxy)
at Microsoft.Xrm.Sdk.Client.DiscoveryServiceProxy.Execute(DiscoveryRequest request)
at PluginRegistrationTool.CrmConnection.RetrieveOrganizations() in D:\Projects\Resources\SDK\CRM 5.0 BETA\SDK Update\Tools\PluginRegistration\CrmConnection.cs:line 367
at PluginRegistrationTool.ConnectionsForm.OpenConnection(CrmConnection con) in D:\Projects\Resources\SDK\CRM 5.0 BETA\SDK Update\Tools\PluginRegistration\ConnectionsForm.cs:line 940″
To fix this, install the ‘Windows Identity Foundation’ from http://support.microsoft.com/kb/974405
Invalid web resource type for form
We found that each time you opened the Web Resource Properties it would cause an error to occur when you clicked Ok.

To fix this, each time you need to select the resource from the Web Resource Lookup. Keep in mind this will clear any settings you have changed.
Tab Limits
One of the questions that came up last night, was if there was still a limit on the tabs allowed in a form.
I had a look through the SDK and didn’t find anything stating a maximum, so I ran a simple test by just adding 70 new tabs with sections and fields to a form. I was still able to save and publish and open the form without any issue. Now in my opinion, if you have a form that requires anywhere near 70 tabs, then you need to re-evaluate.
Another thing that came up was around changing the field tab order from top – bottom to Left – right. I couldn’t find any way in the CRM to set this, however, I found a post from Adi Katz at GI for CRM 4.0 which still works in CRM 2011. I added the code as a JavaScript Web Resource and called the function in the onload.

For those that wanted to see some of the videos I was talking about have a look at some of the links below.
First Interactive Look at CRM 2011
MS Dynamics CRM Team YouTube Channel
Lastly one of the other things we skimmed over last night was how to configure the filtered lookups. I have put together a step by step to illustrate what we were discussing and will post it tomorrow.
Hope this covers most of what we went over last night and look forward to see everyone next month.