Microsoft Office PIA и способы правильного использования и сборки из WebApp

StackOverflow https://stackoverflow.com/questions/380766

Вопрос

В настоящее время я пытаюсь создать TeamCity, который использует dll Microsoft.Office.Interop.Это будет отлично собираться и работать локально, поскольку у меня установлен Office, однако при попытке собрать его в TeamCity это не удается, поскольку на него нет ссылки.

Я не могу установить распространяемый пакет PIA, поскольку получаю сообщение об ошибке, в котором говорится, что необходимо установить Office 2003.Я не хочу устанавливать Office на сервер.

Есть ли способ обойти это?

Это было полезно?

Решение

Если все, что делает сервер Teamcity, — это сборка, добавьте библиотеку Microsoft.Office.Interop DLL в папку «Ссылки» вашего проекта, а затем настройте свой проект для поиска в этой папке «Ссылки».

Однако если сервер TeamCity также выполняет тесты, использующие Office Interop, у вас возникнут проблемы, если на компьютере, на котором выполняются тесты, не установлен Office.

Другие советы

Не совсем — Interop dll — это всего лишь промежуточный слой между вашим кодом .NET и реальным (COM) кодом Office.Если у вас есть библиотека Interop без базовой библиотеки Office, то любые вызовы Interop завершится неудачно, поскольку Interop захочет вызвать COM-объекты, которые он делает совместимыми.

Эти COM-объекты являются объектами Office, поэтому вам потребуется установить некоторую часть Office.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top