win2008服务器版,vs2008 iis7 .net2.0
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 根据别人的经验把组件服务里的东西设置好,参考下面的。
http://topic.csdn.net/u/20070628/16/17b8b13e-8728-4403-bf14-9e814fd9142f.html
发现我的用户里没有所谓的aspnet账户,然后去aspnet_regiis运行下说是安装好了,但是去看看这个账户还是没的,仍然出现同样的错误,然后在web.config那里添加了
<system.web>
<identity impersonate="true" userName="administrator" password="lb123456"/>
</system.web>
发现出现的错误不一样了。异常来自 HRESULT:0x800A03EC
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 异常来自 HRESULT:0x800A03EC源错误:
行 916:
行 917: Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
行 918: Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);==这行出错
行 919: Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
行 920: Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
===============================代码==============================================
string _tmpLoadExcelFilePath = Server.MapPath("~/RPTs/Commodity.xls");
string _tmpSaveExcelFilePath = Server.MapPath("") + @"\Excel\" + DateTime.Now.ToString("yyyyMM");
int _tmpStartRow = 7; if (!Directory.Exists(_tmpSaveExcelFilePath))
Directory.CreateDirectory(_tmpSaveExcelFilePath); System.Reflection.Missing oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application _xApp = new Microsoft.Office.Interop.Excel.Application();
if (_xApp == null) { return; }
_xApp.Visible = false;
_xApp.UserControl = true; Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);
Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
=============================================================================按照别人说的是版本出现问题了,可是我这里貌似还没用到版本,也不知道错误的问题是什么。
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 根据别人的经验把组件服务里的东西设置好,参考下面的。
http://topic.csdn.net/u/20070628/16/17b8b13e-8728-4403-bf14-9e814fd9142f.html
发现我的用户里没有所谓的aspnet账户,然后去aspnet_regiis运行下说是安装好了,但是去看看这个账户还是没的,仍然出现同样的错误,然后在web.config那里添加了
<system.web>
<identity impersonate="true" userName="administrator" password="lb123456"/>
</system.web>
发现出现的错误不一样了。异常来自 HRESULT:0x800A03EC
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 异常来自 HRESULT:0x800A03EC源错误:
行 916:
行 917: Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
行 918: Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);==这行出错
行 919: Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
行 920: Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
===============================代码==============================================
string _tmpLoadExcelFilePath = Server.MapPath("~/RPTs/Commodity.xls");
string _tmpSaveExcelFilePath = Server.MapPath("") + @"\Excel\" + DateTime.Now.ToString("yyyyMM");
int _tmpStartRow = 7; if (!Directory.Exists(_tmpSaveExcelFilePath))
Directory.CreateDirectory(_tmpSaveExcelFilePath); System.Reflection.Missing oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application _xApp = new Microsoft.Office.Interop.Excel.Application();
if (_xApp == null) { return; }
_xApp.Visible = false;
_xApp.UserControl = true; Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);
Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
=============================================================================按照别人说的是版本出现问题了,可是我这里貌似还没用到版本,也不知道错误的问题是什么。
iusr
network service
iis_iusrs
都给了本地激活和本地启动,这个问题在web.config里加了一句话后没出现了,不过以前用win2003的时候没加这句话也不会出现错误,就是不知道是不是操作系统的问题。现在的问题 错误: 80070005。 这个貌似好了,也不知道是不是真的好了。
然后出现了 异常来自 HRESULT:0x800A03EC 这个错误。
请问下是什么原因。