Работа с системными сборками продукта «Форсайт. Аналитическая платформа» 

При установке «Форсайт. Аналитическая платформа» в глобальном кэше сборок регистрируются системные Interop-сборки, содержащие в себе реализацию языка Fore.NET.

Примечание. Сборки будут размещены в подкаталоге GAC_MSIL. Сборки, зависящие от разрядности операционной системы, будут размещены в подкаталоге GAC_32, либо GAC_64.

Для каждой сборки в кэше будет создана своя папка, имеющая следующий формат наименования: Prognoz.Platform.Interop.<наименование сборки>. В подкаталоге, зависящем от разрядности системы, будут размещены сборки Prognoz.Platform.Forms.Net и Prognoz.Platform.WInForms.Utils.

Данные сборки также могут использоваться в любой среде, использующей платформу .NET Framework. Для работы со сборкой «Форсайт. Аналитическая платформа» добавьте ссылку на соответствующую сборку из глобального кэша сборок. В коде в области импорта, используя синтаксис выбранного языка, добавьте строку для импорта типов выбранной сборки. Это позволит в дальнейшем использовать неквалифицированные идентификаторы при обращении к типам.

Примечание. Не рекомендуется использовать сборки «Форсайт. Аналитическая платформа», для которых в .NET Framework имеются соответствующие аналоги, так как может увеличиться время работы приложения из-за переключения контекстов выполнения внутри сборок. Например, используйте System.Xml вместо Prognoz.Platform.Interop.MsXml2 или System.IO вместо Prognoz.Platform.Interop.ForeIO.

Пример добавленной ссылки на сборку Metabase:

Импорт содержимого сборок Metabase и ForeSystem:

Using ...;
Using Prognoz.Platform.Interop.Metabase;
Using Prognoz.Platform.Interop.ForeSystem;
Using ...;

Пример подключения к репозиторию:

IMetabase Mb;

MetabaseManager manager = (new MetabaseManagerFactoryClass()).Active;

IMetabaseDefinitions defs = manager.Definitions;

defs.ReadFromRegistry();

IMetabaseDefinition MbDef = defs.FindById("PPREPOSITORY");

StandardSecurityPackage Package = new StandardSecurityPackageClass();

IPasswordCredentials Credentials = (IPasswordCredentials) Package.CreateCredentials(AuthenticationMode.amPassword);

Credentials.UserName = "PPRepository";

Credentials.Password = "PPRepository";

Mb = MbDef.OpenDefault(Credentials);

См. также:

Использование ресурсов продукта «Форсайт. Аналитическая платформа» в сторонних приложениях