Сделал все как советовали, наконец-то достал MS VS 2003, снес с компа 2-ой фрейворк, поставил 2003 студию, набросал ещё более простой пример пользовательской конструкции, только чтобы провести эксперимент развертывания:
Код:
using System;
using System.Web.Services;
using WorkingWithCrm.CrmSdk;
using System.Net;
namespace WorkingWithCrm
{
public class TestExpl
{
public TestExpl()
{
}
public void TestMethod(Guid ContactId)
{
CrmService service = new CrmService();
service.Credentials = new NetworkCredential("user", "password", "DOMAIN");
service.CallerIdValue = new CallerId();
service.CallerIdValue.CallerGuid = new Guid("1DDB171D-19B1-DB11-989B-001109412F09");
contact oContact = new contact();
ColumnSet csCols = new ColumnSet();
csCols.Attributes = new string[] {"contactid", "pager"};
oContact = (contact)service.Retrieve("contact", ContactId, csCols);
oContact.pager = "unknown";
service.Update(oContact);
}
}
}
обновил файл workflow.config
Код:
<workflow.config xmlns="http://microsoft.com/mscrm/workflow/" allowusingnedassemblies="true">
<methods>
<method name="Add date and time"
assembly="Microsoft.Crm.Platform.WorkflowAssembly.dll"
typename="Microsoft.Crm.Platform.Workflow.BuildIn"
methodname="AddDateTime"
group="Date and time functions">
<parameter name="Date and Time" datatype="datetime"/>
<parameter name="Years" datatype="integer" default="0"/>
<parameter name="Months" datatype="integer" default="0"/>
<parameter name="Days" datatype="integer" default="0"/>
<parameter name="Hours" datatype="integer" default="0"/>
<parameter name="Minutes" datatype="integer" default="0"/>
<result datatype="datetime"/>
</method>
<method name="Subtract date and time"
assembly="Microsoft.Crm.Platform.WorkflowAssembly.dll"
typename="Microsoft.Crm.Platform.Workflow.BuildIn"
methodname="SubtractDateTime"
group="Date and time functions">
<parameter name="Date and Time" datatype="datetime"/>
<parameter name="Years" datatype="integer" default="0"/>
<parameter name="Months" datatype="integer" default="0"/>
<parameter name="Days" datatype="integer" default="0"/>
<parameter name="Hours" datatype="integer" default="0"/>
<parameter name="Minutes" datatype="integer" default="0"/>
<result datatype="datetime"/>
</method>
<method name="Execute"
assembly="Microsoft.Crm.Platform.BulkOperationControlAssembly.dll"
typename="BulkOperationControlService"
methodname="Execute"
group="BulkOperationControl"
isvisible="0"
timeout="7200">
<parameter name="Caller" datatype="caller"/>
<parameter name="BulkOperationId" datatype="lookup" entityname="bulkoperation"/>
<result datatype="string"/>
</method>
<method name="Test method"
assebly="WorkingWithCrm.dll"
typename="WorkingWithCrm.TestExpl"
methodname="TestMethod"
group="Custom Assemblies">
<parameter name="ContactId" datatype="lookup" entityname="contact" />
</method>
</methods>
</workflow.config>
и после рестарта сервиса и iis всё равно получаю ошибку о которой писал в первом сообщении, может у меня код неправильный или config я не умею править?