当前位置: 代码迷 >> ASP.NET >> 跪求帮助:win7(64位)使用OWC组件在IIS下发布的有关问题
  详细解决方案

跪求帮助:win7(64位)使用OWC组件在IIS下发布的有关问题

热度:2838   发布时间:2013-02-25 00:00:00.0
跪求帮助:win7(64位)使用OWC组件在IIS上发布的问题
系统配置win7(64位),vs2010。office 2010。

我在VS2010中新建网站。

在com选项卡引用"microsoft office web components 11.0",但是解决方案管理器里没有任何变动(这是什么原因呢?。所以我用以下两种方法。在vs2010 中都能打开。但是在IIS发布时都会显示错误。

1.在命名控件中。“using Microsoft.Office.Interop.Owc11;”(解决方案里没有bin目录,也没有“Interop.OWC11.dll”)。

2.直接在浏览选项卡引用了Interop.OWC11.dll文件(从别处拷过来的),会在bin目录下添加这个文件。命名空间“using owc11;”
 
以上都是在vs2010 中都能打开。但是在IIS发布时都会显示错误。
 
后来我安装了OWC11.exe,一样是上面那种情况。跪求帮助啊,谢谢各位大侠了,我已经折腾好多天了,块崩溃了~~~

错误信息如下:


“/生成柱状图表”应用程序中的服务器错误。 
--------------------------------------------------------------------------------

检索 COM 类工厂中 CLSID 为 {0002E55D-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {0002E55D-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

源错误: 

行 17: {
行 18: //创建图表空间
行 19: ChartSpace myspace = new ChartSpace();
行 20: //添加一个图表对象
行 21: ChChart mychart = myspace.Charts.Add(0);
 

源文件: h:\asp.net 典型模块\第13章\生成柱状图表\OWC.aspx.cs 行: 19 

堆栈跟踪: 

[COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 {0002E55D-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。]
  _Default.Page_Load(Object sender, EventArgs e) in h:\asp.net 典型模块\第13章\生成柱状图表\OWC.aspx.cs:19
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
  System.Web.UI.Control.LoadRecursive() +71
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272 
 


------解决方案--------------------------------------------------------
先在system32下注册下你的组件试试!
注册方法:OWC11.dll拷贝到system32下运行regsvr32 OWC11.dll进行注册!
------解决方案--------------------------------------------------------
在应用程序池中把你的网站以32位运行

------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
用楼上的方法看看
  相关解决方案