Ошибка «Класс не зарегистрирован» при создании нового приложения Excel в C # - PullRequest
3 голосов
/ 25 октября 2011

Я запускаю консольное приложение в MS Visual Studio 2010 в Windows 7 и получаю следующее сообщение об ошибке при попытке создать новое приложение Excel с помощью стандартной команды C #:

enter image description here

Полный код выглядит следующим образом, и возникает ошибка при выполнении новой команды Excel.Application ():

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Excel = Microsoft.Office.Interop.Excel;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            // Open a Excel spreadsheet
            Excel.Application excel = new Excel.Application();
        }
    }
}

Я убедился, что в проект добавлена ​​соответствующая ссылка .NET:

enter image description here

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

У меня установлена ​​только пробная версия и «стартовая» версия Microsoft Office 2010,так что это будет иметь значение?Нужно ли мне покупать полнофункциональный Office, прежде чем я смогу попробовать что-то подобное?

Ответы [ 2 ]

3 голосов
/ 25 октября 2011

Подозреваю, это не факт, что это стартовая или пробная версия. Прочитайте немного ветку во второй ссылке, которую разместил KreepN, и вы найдете это:

«Я обнаружил, что проблема для меня с той же самой ошибкой, которую вы получаете, заключается в том, что я установил Office из загрузки с помощью« Нажмите, чтобы запустить ».»

MS подталкивает вас к использованию CTR в офисной версии, когда вы загружаете пробную версию или покупаете онлайн. В целях внешней автоматизации CTR совершенно бесполезен. Он устанавливается и работает в виде виртуальной машины, которая работает только тогда, когда вы запустили одно из приложений Office, и не знает и недоступна тому, что происходит на физическом компьютере, на котором она запущена.

В качестве теста проверьте, есть ли у вас какие-то загадочные дополнительные диски (обычно это диск Q:). Это еще один признак того, что ваш компьютер был «благословлен» (некоторые могут сказать «зараженный») CTR.

2 голосов
/ 25 октября 2011

Пробной версии недостаточно для поддержки COM-взаимодействия. Я немного поискал и нашел кого-то с такой же проблемой .

Он, очевидно, не установил его, и, поскольку он сбрасывает ту же ошибку, что и вы, я бы поспорил, что вам нужна полная версия, чтобы зарегистрировать совместимость с вашей системой.

РЕДАКТИРОВАТЬ:

Проделал еще несколько копаний и обнаружил этого пользователя SO с той же проблемой некоторое время назад. Кажется, наше решение все еще сохраняется:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...