[1C] не понятный Exception
От: SanyaVB  
Дата: 21.01.17 09:14
Оценка:
Приведу в начале простой код
        static void Main(string[] args)
        {
            ShowProducts();
            Console.ReadKey();
        }// тут если остановить отладчик - приложение не падает

        private static void ShowProducts()
        {
            string file = @"С:\1с\BD\testBD";
            dynamic result;
            V82.COMConnector com1s = new V82.COMConnector();

            com1s.PoolCapacity = 10;
            com1s.PoolTimeout = 60;
            com1s.MaxConnections = 2;
            result = com1s.Connect("File='" + file + "';");
            dynamic select = result.Справочники.Номенклатура.Выбрать();
            while (select.Следующий())
            {
                Console.WriteLine("{0} {1}", select.Артикул, select.Наименование);
            }
            Marshal.ReleaseComObject(select);
            Marshal.ReleaseComObject(result);
            Marshal.ReleaseComObject(com1s);
        }

Он выводит список товаров без каких либо ошибок! Но когда приложение завершается, возникает странное исключение. Оно именно возникает когда CLR освобождает ресурсы, потому что из под отладчика выполнение приложение без ошибок происходит до последней фигурной скобочки метода Main!

С виду все COM освобождаются... Подскажите что не так делаю?
Отредактировано 21.01.2017 9:52 AndrewVK . Предыдущая версия .
com interop
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.