Microsoft Office PIA и как правильно ссылаться и строить из WebApp - PullRequest
2 голосов
/ 19 декабря 2008

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

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

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

Ответы [ 2 ]

3 голосов
/ 19 декабря 2008

Если все, что делает сервер teamcity, - это сборка, то добавьте DLL-библиотеку Microsoft.Office.Interop в папку References для своего проекта, а затем настройте свой проект для поиска в этой папке ссылок.

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

0 голосов
/ 19 декабря 2008

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

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

...