AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2009, 15:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,626 / 848 (80) +++++++
Регистрация: 28.10.2006
CRM DE LA CREME! Three Top Tips for CRM 4.0 Plugin Development
Источник: http://crmdelacreme.blogspot.com/200...40-plugin.html
==============

Guest Post: Three Top Tips for CRM 4.0 Plugin Development
by menno

Tip #1 Sign your assembly!
This is a step that's importance isn't made blatantly clear in the SDK documentation, but is absolutely key to the successful implementation of your plugin (and also makes a huge difference to debugging successfully as well). If you follow the "create a simple plugin" walkthrough in the SDK, it is listed as step 3 here: http://msdn.microsoft.com/en-au/library/bb955365.aspx.

The steps it describes are basically as follows:

Right-click your project in Solution Explorer and click Properties.
Create a new strong key file by clicking the Signing tab, select the Sign the assembly check box and select in the drop down list.
Type a name for your key and decide if you need to password your assembly enter the password here or if not, clear the Protect my key file with a password check box.
Click OK.
Save your changes by clicking the Save All button.
The screenshot below shows the Signing Tab & the Create Strong Name Pop up:


Alternatively you can use the sn.exe command line tool. Once you have signed your assembly, you will see a *.snk file listed in your solution explorer.

Tip #2 Register any Interops in the GAC
In my most recent project, I was working with some COM API's to integrate into the clients Line of Business Accounting System. Visual Studio is smart enough to build a COM Interop around any (registered) dll you wish to import, which is very handy - until you try to deploy your plugin to the CRM Server & it has no knowledge of the Interop you are referring to in your code.

You need to make sure that your interop dll is registered in the Global Assembly Cache (GAC) of the CRM Server. The first step you need to keep in mind is that to register your dll into the GAC, your assembly must be signed - so if you followed Tip #1 above you'll be fine! Once your assembly is signed, you can add it to the GAC in two ways, if your a fan of command line utilities, you can use the gacutil.exe command: gacutil /i MyComInterop.dll

I however tend to prefer the GUI tools provided, such as the .NET Framework 2.0 Configuration tool. To use this:

Select Microsoft .NET Framework 2.0 Configuration (CRM 4.0 uses .Net 2.0 by default) from the administrative tools menu
Select Manage the Assembly Cache
Click Add an Assembly to the Assembly Cache (The second option)

Locate your dll using the dialog window that appears and Click Open.
Tip #3 Use the Plugin Registration tool (in the SDK)
The registration of plugins in CRM 4.0 is made so much easier than it used to be in CRM 3.0 - mainly due to the Plugin Registration Tool that ships with the SDK & can be found in the SDK\tools\pluginregistration directory. Some good instructions on how to set it up & use it are listed here, so I wont waste time in repeating them.

What it doesn't mention is what you need to do if you update your Dll's. Initially I wasn’t sure if I had to delete & re-register them, or how to get CRM to recognize that I had updated my dll. If you spent any time at all writing callouts for CRM 3.0 or earlier versions, your first instinct is to stop services, copy over dll's and then restart the services. However you do not need to do this anymore (thank goodness)!

Using the Plugin Registration tool, you can simply:

Copy over your dll's in the server\bin\assembly\ directory
Select the Update option for the selected plugin:

Browse to the new dll file by clicking on the elipse on the update assembly window, and selecting your dll from the dialog window
Select Load assembly

Once the assembly has loaded, select Update Selected Plugins
You will receive a confirmation popup once the system is finished that confirms what has actually been changed
Click OK.
All this occurs without having to restart services - so is seamless to end users and a lot less painful than it was with callouts in CRM 3.0! I really love this change for developing plugins in Microsoft Dynamics CRM 4.0.

So thats it...
So there you have it, my three top tips for CRM 4.0 plugin development. These are the 3 things that I find when working with plugins are not highly documented, but can either save you a lot of time if you know about them - or give you a lot of grief if you forget them! I hope they help you.



Источник: http://crmdelacreme.blogspot.com/200...40-plugin.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Полезные ссылки по MS CRM. IgorF Dynamics CRM: Прочие вопросы 60 24.05.2013 16:19
Microsoft Dynamics CRM Team Blog: Building a Self-Contained Virtual CRM Development Server Blog bot Dynamics CRM: Blogs 0 05.05.2009 10:05
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05
Microsoft Dynamics CRM Team Blog: Data Migration Manager Tips and Tricks Blog bot Dynamics CRM: Blogs 0 02.09.2008 22:05
Microsoft Dynamics CRM Team Blog: Top 14 Microsoft Dynamics CRM Sites and Downloads Blog bot Dynamics CRM: Blogs 0 14.07.2008 13:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:53.