Как включить офисные dll? - PullRequest
       7

Как включить офисные dll?

0 голосов
/ 02 ноября 2010

Я разработал офисный инструмент, и он отлично работает на моем компьютере.Но когда я портирую код на другой компьютер, код не работает.Это показывает другое сообщение об ошибке разное время.Я создал установщик, и office.dll, excel.dll и powerpoint.dll были экспортированы с моим exe, но он не работает.На моем компьютере установлен Office 2003, но на целевом компьютере есть и 2007, и 2003.

Теперь я подозреваю, что, возможно, на целевом компьютере, когда мое приложение вызывает любую функцию Excel, оно обслуживается GAC этого компьютера, а не экспортируется из моей библиотекиcomputer.

Для этого я заинтересован в рефакторинге кода: на этот раз я не буду использовать какое-либо предложение «using», чтобы указать ОС, что включать, вместо того, чтобы писать класс сборки, который будет загружатьDLL из определенного места (я думаю, таким образом, не будет путаницы в том, какой из 2007/2003 +, откуда включена библиотека Excel) ....

Как я могу это сделать ???Пожалуйста, помогите.

Пример кода, который я спрашиваю, может быть следующим:

using "System.NECESSARY.LIBRARY.TO.IMPORT.DLL"

void main()
{
  [dllImport("office.dll") OTHER_PARTS_GOES_HERE]

  CLASS application= new excel() /* excel class derivess from included office.dll */
}

1 Ответ

0 голосов
/ 16 апреля 2011

Обновление: я установил Dot-net 4.0 и теперь проблема решена :-) Поскольку dotnet 4.0 правильно экспортирует все dll, которые мне нужны, и на целевой машине используются только те экспортированные dll ... Так что больше не требуется взломатьк этой теме.

...