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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.07.2006, 19:44   #1  
faust911
Гость
 
n/a
Callout
В чем проблема не пойму, наверняка какую-нибуть мелочь забыл, помогите пожалуйста разобраться.

Пытаюсь создать простое, тестовое callout, чтобы понять как оно работает.

Мои действия:

1) В студии создаю .dll вот код(соответственно сделав все ссылки):

using
System;
using System.Collections;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Xml;
using System.IO;
using System.Security.Principal;
using Microsoft.Win32;
using Microsoft.Crm.Callout;
using work.CrmSdk;

namespace
work
{
classCalloutComponent : CrmCalloutBase
{
publicoverridevoid PostCreate(CalloutUserContext userContext,
CalloutEntityContext entityContext,
string postImageEntityXml)
{
TextWriter log = TextWriter.Synchronized(
File.AppendText(@"C:\CRM_SDK_Drop\Create.txt"));
log.WriteLine(
"PostCreate");
log.WriteLine(
"ObjectType: " +
entityContext.EntityTypeCode.ToString());
log.WriteLine(
"ObjectId: " + entityContext.InstanceId.ToString());
log.WriteLine(
"CreatorId: " + userContext.UserId.ToString());
log.WriteLine();
log.Close();
}
}
}
Компилится отлично.

2) Беру dll и забрасываю её в <installdir>\Program Files\Microsoft CRM\server\bin\assembly\

3) Подправляю callout.config.xml :

<callout.config version="1.0" xmlns=" http://schemas.microsoft.com/crm/2006/callout/">
<callout entity="account" event="PostCreate">
<subscription assembly="work.dll"
class="work.CalloutComponent"
onerror="abort">
<postvalue>@all</postvalue>
</subscription>
</callout>
</callout.config>

4) Перезагружаю IIS с помощью команды iisreset

5) Захожу в CRM, создаю account, но не вижу результата. Зато в событиях появилась ошибка:

Error: ISV code threw exception: assembly: work.dll; class: work.CalloutComponent; entity: account, event: postcreate, exception: System.BadImageFormatException: Недопустимый формат файла 'work.dll'.
Имя файла: "work.dll"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm)
at System.Activator.CreateInstanceFrom(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
at Microsoft.Crm.Callout.CalloutHost.PostCreate(CalloutUserContext userContext, CalloutEntityContext entityContext)
=== Pre-bind state information ===
LOG: Where-ref bind. Location = D:\Program Files\Microsoft CRM\server\bin\assembly\work.dll
LOG: Appbase = d:\windows\system32\inetsrv\
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///D:/Program Files/Microsoft CRM/server/bin/assembly/work.dll.

Как я понял проблемма в dll. Но она взята из SDK.

От сюда и вопрос - почему она ругается?
Старый 12.07.2006, 07:58   #2  
glad is offline
glad
Участник
 
74 / 17 (1) ++
Регистрация: 23.05.2006
По моему там еще после перезагрузки IIS надо еще рестартить MS WF.
Какая VS используется? Попробуйте VS 2003.
Старый 12.07.2006, 08:58   #3  
faust911
Гость
 
n/a
Студия 2005, рестиртил и wf, все равно такая беда...
Старый 12.07.2006, 09:33   #4  
AndreyS is offline
AndreyS
Moderator
Сотрудники Microsoft Dynamics
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
283 / 61 (3) ++++
Регистрация: 18.05.2006
Надо использовать VS 2003. С 2005 возможны проблемы именно с Callout-ами.
Старый 12.07.2006, 10:52   #5  
Кириллов Борис is offline
Кириллов Борис
Участник
 
68 / 11 (1) +
Регистрация: 20.04.2006
Если проблема не разрешилась, то проверьте прописали ли Вы strong name key в файле AssemblyInfo проекта.
Старый 12.07.2006, 13:16   #6  
faust911
Гость
 
n/a
Прошу прощения за некомпетентность, но что есть strong name key. Я посмотрел в свойствах assemnblyinfo.cs но ни чего похожего не нашел.

А в 2005 студии с wf тоже проблеммы могут быть?
Старый 12.07.2006, 14:17   #7  
Кириллов Борис is offline
Кириллов Борис
Участник
 
68 / 11 (1) +
Регистрация: 20.04.2006
Цитата:
Сообщение от faust911
Прошу прощения за некомпетентность, но что есть strong name key. Я посмотрел в свойствах assemnblyinfo.cs но ни чего похожего не нашел.
assemblyinfo.cs:

[assembly: AssemblyKeyFile("C:\\key.snk")]

где C:\key.snk - strong name key, который создаётся утилитой Visual Studio .Net Command Promt. Данный файл содержит GUID уникально идентифицирующий Вашу сборку на CRM Сервере.

ЗЫ: по крайне мере для использования сборок в worflow без определения strong name key возвращается ошибка.

Цитата:
Сообщение от faust911
А в 2005 студии с wf тоже проблеммы могут быть?
VS 2005 использует .Net Framework 2.0, а MS CRM 3.0 написан .Net Framework 1.1, поэтому могут быть проблемы. Соответственно нужно использовать VS 2003, чтобы появление таких проблем исключить как класс.
Старый 14.07.2006, 20:18   #8  
faust911
Гость
 
n/a
Спасибо за разъяснения.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает Callout после апгрейда до CRM 4.0 macattack Dynamics CRM: Разработка 1 25.06.2008 15:16
Как запустить CallOut tatra Dynamics CRM: Разработка 0 02.10.2007 09:04
CallOut в CampaignItem shaban Dynamics CRM: Разработка 0 28.09.2007 10:12
General Callout code exception sam Dynamics CRM: Разработка 3 15.06.2007 16:26
Использование Callout glad Dynamics CRM: Разработка 1 11.07.2006 09:55

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

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

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