系统配置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
你安装了,就应该是已经注册过了,但是还是报这个错误,那就说明了,应该是操作系统为64位的问题。你在编译的时候将你的程序生成为X86的就应该可以了。
COM组件注册了吗?从错误信息上看应该是com组件没有注册或者是依赖组件没有注册导致的问题
请问这个问题解决了没有?OWC11迁移到Windows2008 64位的服务器上,遇到了相同的问题。看了MSDN上的回答是说:There is no 64-bit version of Office available yet. Ask at forums.iis.net how to force IIS into 32-bit mode.不知道博主你是怎么解决的?能分享一下嘛
还没解决,看来要换系统了~
@daxiaoyuyu: 哦,OWC11确实不能在64位上运行。
@zjgrape: 这个问题我已经解决了,是64位操作系统的问题。只要在IIS管理器里把程序要用到的应用程序池的配置的“启用32位应用程序”的值改为“true”。不知道你的这样能否解决。
这是64位操作系统的问题。只要在IIS管理器里把程序要用到的应用程序池的配置的“启用32位应用程序”的值改为“true”。不知道大家用这样的方法能否解决。
太感谢了。我的就是这个问题。
64位操作系统下,IIS发布网站,注册完sqldmo后还报错,只需要修改下应用程序池为允许32位应用程序即可(网站所使用的应用程序池-右击 设置应用程序池默认设置-启用32位应用程序设为true)