Нет необходимости устанавливать соответствующую версию Office или interops. Вы можете использовать последние библиотеки interop для старых версий Office, пока не будете использовать отсутствующих членов. Например, в Office 2010 был введен метод, и вы пытаетесь вызвать его в Office 2003. В этом случае вы получите исключение во время выполнения. Поэтому я бы рекомендовал проверить версию Office во время выполнения и только потом вызвать новых членов или нет.
Кроме того, Microsoft в настоящее время не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любого необработанного, неинтерактивного клиентского приложения или компонента (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может проявлять нестабильное поведение и/или тупик, когда Office запущен в этой среде.
Если вы создаете решение, которое выполняется в контексте на стороне сервера, вы должны попытаться использовать компоненты, которые были безопасны для автоматического выполнения. Или вы должны попытаться найти альтернативы, которые позволяют хотя бы часть кода запускать клиентскую сторону. Если вы используете приложение Office из серверного решения, для успешного выполнения приложения не будет достаточного количества необходимых возможностей. Кроме того, вы рискуете стабильностью своего общего решения. Подробнее об этом читайте в статье Considerations for server-side Automation of Office.
В качестве обходного пути вы можете использовать Open XML SDK, см. Welcome to the Open XML SDK 2.5 for Office для получения дополнительной информации. Или просто используйте сторонние компоненты, предназначенные для выполнения на стороне сервера.
Это ложь. Нет необходимости устанавливать соответствующую версию Office. Вы можете создавать программное обеспечение даже без установленного Office. –
На мой взгляд, это правда. Вы не можете запустить какой-либо метод, который использует interops. Это означает, что вы не можете протестировать свое программное обеспечение в среде разработки. Так что это не совсем так, но и не совсем неправильно. – BendEg