在C#中创建新的Excel应用程序时出现“未注册类”错误

时间:2011-10-25 13:31:29

标签: c# .net excel visual-studio ms-office

我在Windows 7中的MS Visual Studio 2010中运行控制台应用程序,尝试使用标准C#命令创建新的Excel应用程序时出现以下错误消息:

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

我有点不知道接下来我还应该做些什么。我已经看过一两个其他帖子提到类似的错误消息,但我仍然没有明白如何继续。

我只安装了试用版和“Starter”版本的Microsoft Office 2010,这会有什么不同吗?在尝试这样的事情之前,我是否需要购买全套办公室?

2 个答案:

答案 0 :(得分:3)

我怀疑这不是启动版或试用版的事实。读一下KreepN发布的第二个链接中的帖子,你会发现:

“我发现问题与我完全相同的错误是我从下载中使用”点击运行“安装了Office。”

当您下载试用版或在线购买时,MS会将您推送到单击运行(CTR)版的办公室。出于外部自动化的目的,CTR完全没用。它安装并运行在一种VM中,当您启动其中一个Office应用程序并且不知道并且无法访问正在运行的物理计算机上发生的事情时,该VM仍处于活动状态。

作为测试,检查您是否有任何神秘的附加驱动器(通常是Q:驱动器)。这是你的计算机被CTR点击“祝福”(有些人可能会说“感染”)的另一个症状。

答案 1 :(得分:2)

试用版不足以支持COM互操作。我做了一些搜索和found someone else having the same problem

他显然没有安装它,因为他正在丢弃与你相同的错误,我敢打赌你需要一个完整的版本来注册与你的系统的互操作性。

编辑:

进行了更多挖掘并找到this SO user with the same problem a while back as well.我们的解决方案似乎仍然存在:)。