Здравствуйте. Вот такая ситуация: прога моя в excel'e едлает табличку, забивает данные и открывает то что получилось в том же excel'e... на моей машине запускается excel и все нормально видно, но я прогу перенес на другую машину, где, собственно, она и должна быть. Пробую там сформировать табличку — вылетает ошибка. Скажите, как исправить? Что надо добавить на машину ту чтобы это заработало? Excel там установлен...
Но у меня стоит офис-2007 а там 2003... может из-за этого. Хотя какая разница?... Подскажите. Заранее спасибо!
"Невозможно загрузить файл или сборку Microsoft.Office.Interop.Excel Version=12.0.0.0, Culture=neutral, PublikKeyToken=<далее_длинный_ключ> или один из зависящих от них компонентов"
Я вспоминаю, что в Студии когда добавлял Reference, то выбрал Microsoft Office 12.0 Object Library (или что-то в этом роде, но версия 12 была), но кроме нее еще была точно такая же только 5.0 версия. Может ее надо было добавить? Хотя вспоминается что я поначалу ее добавлял, но в студии не подключалось Microsoft.Office.Interop.Excel
Здравствуйте, vit0s, Вы писали:
V>Здравствуйте. Вот такая ситуация: прога моя в excel'e едлает табличку, забивает данные и открывает то что получилось в том же excel'e... на моей машине запускается excel и все нормально видно, но я прогу перенес на другую машину, где, собственно, она и должна быть. Пробую там сформировать табличку — вылетает ошибка. Скажите, как исправить? Что надо добавить на машину ту чтобы это заработало? Excel там установлен... V>Но у меня стоит офис-2007 а там 2003... может из-за этого. Хотя какая разница?... Подскажите. Заранее спасибо!
Похоже, вы использовали Office PIAs. В этом случае нужно вместе с программой ставить Primary Interop Assemblies Redistributable для нужной версии Офиса.
У тебя в проекте ссылки на библиотеки, которые есть на твоём компьютере но нет на компьютере заказчика. Сделать нужно следующее:
1. Открываешь Solution Explorer, References, выбирешь Excel, у него свойства, там Copy Local ставишь в true.
2. То же самое для Microsoft.Office.Core.
3. Компилируешь проект. В папке Debug теперь кроме твоего exe-шника появились требуемые сборки Microsoft.Office.Interop.Excel.dll
Office.dll
4. Вот их то тебе и нужно распространять со своим приложением.
Теоретически должно работать и со старыми версиями офиса. По крайней мере у меня работало, но я всё это делал для Office 2003.
Здравствуйте. Вот такая ситуация: прога моя в excel'e едлает табличку, забивает данные и открывает то что получилось в том же excel'e... на моей машине запускается excel и все нормально видно, но я прогу перенес на другую машину, где, собственно, она и должна быть. Пробую там сформировать табличку — вылетает ошибка. Скажите, как исправить? Что надо добавить на машину ту чтобы это заработало? Excel там установлен...
Но у меня стоит офис-2007 а там 2003... может из-за этого. Хотя какая разница?... Подскажите. Заранее спасибо!
Разница в том, что обратной совместимости как правило нет.
Поставь дома офис-2007, отладь в нем, конвертируй в него, что там еще может быть и будет тебе счастие. Хотя то же самое можнопоробовать и на той машине