Давеча немного по разбирался, как же все таки пользовать .net c DAX. Прилагаю свои исследования на эту тему. С версии 4.0 можно использовать внешний код, то есть теперь не весь код может храниться в репозитарии, как это было в предыдущих версиях.
Для начала создаем тестовый проект на C# в vs 2005. Обзовем его MyFirstCLR.
Находим в solution explorer UnitTest1.cs. Меняем код на наш
Код:
namespace MyFirstCLR
{
public class MyClass
{
public string sayRocks()
{
return "Dot net rocks!";
}
public int average(int a, int b)
{
return (a + b)/2;
}
}
}
Жмем на MyFirstCLR в контекстном меню build. Находим скомпиленную dll (по умолчанию она кладется в bin\Debug). Переносим MyFirstCLR.dll и MyFirstCLR.pdb в директорию Dynamics. Рекомендуется при многопользовательской работе класть в \%winnt%\assembly. В нашем случае упростим задачу и перенесем в C:\Program Files\Microsoft Dynamics AX\40\Client\Bin.
Далее в Dynamics в узле references создаем ссылку на нашу сборку (assembly).
Это кнопка обзор, находим нашу dll и жмем ок. Появляется ссылка MyFirstCLR.
Далее создаем задание (job)
X++:
static void MyFirstCLR(Args _args)
{
MyFirstCLR.MyClass mc;
str s;
int res;
;
mc = new MyFirstCLR.MyClass();
s = mc.sayRocks();
print s;
res = mc.average(20,22);
print res;
pause;
}