|
29.06.2011, 15:02 | #1 |
Участник
|
Коварный вопрос... Через Microsoft.Office.Interop.Excel
|
|
02.08.2011, 13:36 | #2 |
Участник
|
Переделали отчеты на .NET с указанием в ссылках АОТ
\References\Microsoft.Office.Interop.Excel Но там жестко прописана версия офиса 2007 (12.0), тк она стоит на сервере с АОС Клиент заходит в АХ с локала, там офис 2003 Имеем ошибку Цитата:
Объект "CLRObject" не может быть создан
System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" или один из зависимых от них компонентов. Не удается найти указанный файл. Имя файла: "Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" в System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) в System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) в System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) в System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) в System.AppDomain.Load(String assemblyString) в ClrBridgeImpl.LoadAssembly(ClrBridgeImpl* , Char* assemblyName) в ClrBridgeImpl.NewClrObject(ClrBridgeImpl* , Char* pszClassName, Char* assemblyName, Int32 argsLength, ObjectWrapper** arguments, Boolean* isException) Предупреждение: регистрация привязки сборок выключена. Чтобы включить регистрацию ошибок привязки сборок, установите значение параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) в 1. Примечание. Регистрация ошибок привязки сборок может привести к некоторому снижению производительности. Чтобы отключить эту функцию, удалите параметр реестра [HKLM\Software\Microsoft\Fusion!EnableLog]. Если что, сам и отпишусь как решили. Но если кто сталкивался и сразу скажет, куда смотреть - буду сильно признателен. Вариант ставить всем одинаковый Офис - не ок, Когда было через СОМ таких проблем не было Отожрал переход на Ах2009 много нервов и кровушки из-за проблем с отчетами Ехель и Ворд, думали все перешли на .Нет, так нет - продолжает отжирать |
|
02.08.2011, 15:05 | #3 |
Участник
|
Цитата:
По моим наблюдениям сборки для офиса (Microsoft.Office.Interop.Excel.dll) НЕ устанавливаются, например для ОС WinXp при установке office. (C Win 7 проблем не должно быть) Попробуйте скопировать этот файл DLL (Microsoft.Office.Interop.Excel.dll) "вручную", например в папку bin Аксапта клиента. Регистрировать его в GAC не обязательно. Достаточно перезапустить Аксапту. У меня так заработало на WinXp. По поводу версий подключенных к Аксапта библиотек... Не знаю как с 2003 офисом но если подключить к Аксапта сборку DLL от офиса 2007 (версия 12), то написанный код Аксапта будет работать на станции с офисом 2010 (версия 14) без всяких проблем. (Правда все это касается Outlook, но мне кажется что для Excel должно быть то же самое) |
|
|
За это сообщение автора поблагодарили: BOAL (3), Logger (3). |
02.08.2011, 20:44 | #4 |
Участник
|
клиент запускался на win2003, да, там в папке
C:\Windows\assembly нету подпапки Microsoft.Office.Interop.Excel и ДЛЛ тоже нет Есть только Microsoft.Office.Interop.OWC11 Сервер на win2008 + off2007, там есть C:\Windows\assembly\GAC\Microsoft.Office.Interop.Excel\12.0.0.0__71e9bce111e9429c И речь уж точно не об обновлении на оф2010 Должно работать на том парке офисов, что есть, а это 2007 и 2003 ДЛЛ в Бин засовывать попробуем есть еще такая вот официальная сборочка от МС http://www.microsoft.com/download/en...ng=en&id=18346 |
|
03.08.2011, 12:23 | #5 |
Участник
|
Подложить длл в папку БИН клиента - не помогло
Их нужно как-то на локале регистрировать. В общем, нужно собирать тестовый стенд из разных офисов и мурыжить детальнее. |
|
05.08.2011, 14:41 | #6 |
Участник
|
Отчитываюст:
Собрал тестовый стенд (чтоб не зависеть от компов заказчика) ВинХР+Офис2003 выдает туже ошибку, что приводил выше А вот если в БИН положить ДЛЛ Microsoft.Office.Interop.Excel То все ок! строится! Спасибо Будем разбираться, почему на серве с вин2003 + офис2003 не получилось с папкой бин |
|
Теги |
com-объект, excel, thread, асинхронный com, ошибка |
|
|