Показать сообщение отдельно
Старый 18.11.2019, 13:30   #17  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Цитата:
Сообщение от Damn Посмотреть сообщение
Предлагаю всё-таки определить в этом дело или нет.
Если на АОСе действительно включена поддержка .NET Framework 4.5, то я например у себя заменил штатный механизм генерации референсов на веб-сервисы. Использую утилиты svcutil.exe и csc.exe. Можно взять утилиты от версии 3.5 (для использования на всех АОСах). А можно взять утилиты от версии 4, их можно использовать только на АОСах с поддержкой .NET Framework 4.5.
Утилиты разных версий генерят немного разные прокси-dll. Отличия перечислять не буду, но они есть.
Внешне для разработчика у меня генерация референсов не изменилась. Тот же диалог, те же сообщения, только файл app.config генерится пустой, так как он не используется. Биндинги и endpoint нужно программно создавать при инициализации soapClient.
Да, на серверах действительно включен .NET Framework 4.5, но на каких-то работает, а на каких-то нет.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Судя по всему, нигде не задается.
То есть, что-то разное на разных серверах дает Assembly.GetCallingAssembly().Location
X++:
    System.Reflection.Assembly  callingAssembly;
    ;
    new InteropPermission(InteropKind::ClrInterop).assert();
    callingAssembly = System.Reflection.Assembly::GetCallingAssembly();
    info(callingAssembly.get_Location());
На сервере возвращает C:\Program Files\Microsoft Dynamics AX\50\Server\%AosName%\Bin\Microsoft.Dynamics.ClrBridge.dll

Т.е. по идее и сейчас должна возвращаться ошибка.
__________________
Любую техническую проблему можно решить, если есть достаточно времени и денег.