<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Microsoft Dynamics CRM &#187; debug</title>
	<atom:link href="http://ms-dynamics-crm.com.ua/tag/debug/feed/" rel="self" type="application/rss+xml" />
	<link>http://ms-dynamics-crm.com.ua</link>
	<description>Все о Microsoft Dynamics CRM</description>
	<lastBuildDate>Mon, 21 May 2012 14:44:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Отладка plug-ins для Microsoft Dynamics CRM 4.0</title>
		<link>http://ms-dynamics-crm.com.ua/2009/07/28/debug-plug-ins-for-microsoft-dynamics-crm-40/</link>
		<comments>http://ms-dynamics-crm.com.ua/2009/07/28/debug-plug-ins-for-microsoft-dynamics-crm-40/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 16:09:00 +0000</pubDate>
		<dc:creator>Костя Афендиков</dc:creator>
				<category><![CDATA[ms crm 4.0]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[plug-in]]></category>

		<guid isPermaLink="false">http://ms-dynamics-crm.com.ua/?p=973</guid>
		<description><![CDATA[В этом посте я опишу способ отладки плагинов для Microsoft Dynamics CRM 4.0. Студия находится на том же сервере, что и сам сервер MS CRM. Порядок действий для отладки plug-in 1. Нам необходим plug-in для MS CRM. 2. Выбираем свойства проекта. Properties 3. Вкладка Build – раздел Output path – необходимо выбрать папку assembly у [...]]]></description>
			<content:encoded><![CDATA[<p>В этом посте я опишу способ отладки плагинов для Microsoft Dynamics CRM 4.0. Студия находится на том же сервере, что и сам сервер MS CRM.<br />
<span id="more-973"></span></p>
<h3>Порядок действий для отладки plug-in</h3>
<p>1. Нам необходим <a title="плагин для MS CRM" href="http://ms-dynamics-crm.com.ua/2009/03/10/plug-in-ms-crm-4/">plug-in для MS CRM</a>. <img src='http://ms-dynamics-crm.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>2. Выбираем свойства проекта. <strong>Properties</strong></p>
<p>3. Вкладка <strong>Build </strong>– раздел <strong>Output path</strong> – необходимо выбрать папку <strong>assembly </strong>у MS CRM. В моем случае это &#8212; <em>C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly\</em><br />
Сюда будет помещаться <strong>dll </strong>плагина, а так же файл для отладки . <strong>pdb</strong></p>
<p><strong>UPD: </strong>Т.к. для отладки необходим только <strong>.pdb </strong>файл, то этот шаг можно заменить, написав сценарий в Build Events в раздел Post-build event command line вида:<br />
<strong> COPY “$(TargetDir)\*.pdb” “C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly” /Y</strong></p>
<p>(спасибо Сергею за комментарий)</p>
<p>4. Вкладка <strong>Build Events</strong> в <em>Pre-build event command line</em> указываем:<strong> iisreset /stop</strong>, в <em>Post-build</em> -<strong> iisreset /start</strong>. Теперь, перед компиляцией и генерацией dll плагина (build) будет останавливаться IIS-server, потом создаваться dll и pdb файлы, которые помещаются в папку, указанную в <strong>п.3</strong>, а затем запускаем IIS-server</p>
<div id="attachment_975" class="wp-caption alignnone" style="width: 528px"><img class="size-full wp-image-975" title="debug-plugins" src="http://ms-dynamics-crm.com.ua/wp-content/uploads/2009/07/debug-plugins.png" alt="debug-plugins" width="518" height="341" /><p class="wp-caption-text">debug-plugins</p></div>
<p>5. Делаем <strong>Build </strong>нашего проекта.</p>
<p>6. Запускаем <strong>PluginRegistration tool </strong>и регистрируем наш плагин. <strong>Выбираем dll</strong> из папки п3. (Program Files\Microsoft Dynamics CRM\Server\bin\assembly\)</p>
<p>7. Повторяем ситуацию, на которой должен сработать плагин.<br />
<em>Например</em>: я зарегистрировал плагин на свою сущность, событие &#8212; Create, стадия – Pre. Чтобы повторить ситуацию мне достаточно создать записей своей сущности, заполнить необходимые поля и нажать «Сохранить». Аналогично и для других событий</p>
<p>8. Установите <strong>Breakpoint</strong> там, где это вам необходимо.</p>
<p>9. Итак, ошибку получили, осталось «прицепиться» к IIS, чтобы иметь возможность заняться дебагом.<br />
Для этого: <strong>Debug </strong>– <strong>Attach to Process…</strong> &#8212; выбираем процесс <strong>w3wp.exe</strong> и жмем <strong>Attach</strong>.<br />
<em>Примечание</em>: 1) процессов может быть несколько, цепляемся ко всем 2) если не находите этот процесс, то убедитесь, что выбрана опция «<em>Show processes from all users</em>».</p>
<div id="attachment_976" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-976" title="debug-plugins-2" src="http://ms-dynamics-crm.com.ua/wp-content/uploads/2009/07/debug-plugins-2.png" alt="debug-plugins" width="500" height="238" /><p class="wp-caption-text">debug-plugins</p></div>
<p>10. Повторяем <strong>п. 7 </strong>и занимаемся отладкой плагина в Visual Studio</p>
<div id="attachment_977" class="wp-caption alignnone" style="width: 566px"><img class="size-full wp-image-977" title="debug-plugins-3" src="http://ms-dynamics-crm.com.ua/wp-content/uploads/2009/07/debug-plugins-3.png" alt="debug-plugins" width="556" height="421" /><p class="wp-caption-text">debug-plugins</p></div>
<p>Спасибо <a href="http://ms-crm.com.ua/">Савран Роману</a> за помощь <img src='http://ms-dynamics-crm.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>А как отладку делаете Вы? Поделитесь в комментариях.</p>
<p><a href="http://twitter.com/xrminua">Follow us in Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ms-dynamics-crm.com.ua/2009/07/28/debug-plug-ins-for-microsoft-dynamics-crm-40/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

