23.04.2008, 12:39 | #1 |
MCTS
|
Вызов статического метода сборки
X++: server static void main(Args _args) { HRMParameters HRMParameters = HRMParameters::find(); CodeAccessPermission permission = new InteropPermission(InteropKind::ClrInterop); ; permission.assert(); CLRInterop::staticInvoke("Esciz.Eskiz", "IsDoneTask", HRMParameters.eskServer, 95917); // info(strfmt("%1", Esciz.Eskiz::IsDoneTask(HRMParameters.eskServer, 95917))); } Цитата:
Отсутствуют ссылки на сборку, содержащую тип Esciz.Eskiz
Причем ссылка на сборку "Esciz" есть в АОТе. В чем может быть дело? |
|
23.04.2008, 17:38 | #2 |
Участник
|
А так?
X++: Esciz.Eskiz::IsDoneTask(HRMParameters.eskServer, 95917) |
|
23.04.2008, 18:39 | #3 |
Участник
|
Во, человек доработался
Статические методы через "::" вызываются.
__________________
Бывает, что человек молчит, когда ничего не знает о данном предмете, но чаще – когда знает о нем все. (Джордж Бернард Шоу) |
|
24.04.2008, 10:36 | #4 |
MCTS
|
Цитата:
А так?
Цитата:
Во, человек доработался
Статические методы через "::" вызываются. Было подозрение, что нужно внести сборку в Global Assembly Cache (GAC), но опять же это ли причина - не известно. Может есть еще варианты? |
|
24.04.2008, 10:41 | #5 |
Участник
|
|
|
24.04.2008, 10:42 | #6 |
MCTS
|
и еще - если из AOT удалить ссылку, то при запуске с клиента получаем ту же ошибку. То есть выходит, что на сервере и на клиенте разное содержание AOT в узле references...
|
|
24.04.2008, 10:44 | #7 |
Участник
|
Цитата:
Во, человек доработался
Статические методы через "::" вызываются. Цитата:
На клиенте этот вариант отрабатывает на ура, на сервере валит ошибку
|
|
24.04.2008, 10:44 | #8 |
MCTS
|
Цитата:
А на сервере эта сборка физически-то есть?
|
|
24.04.2008, 12:01 | #9 |
MCTS
|
Вобщем, добавление в GAC не помогло, все постарому....
Наконец, пришлось в сборке все методы сделать нестатическими. Последний раз редактировалось Eldar9x; 28.04.2008 в 13:25. |
|