当前位置:编程学习 > C#/ASP.NET >>

未能加载文件或程序集“Excel”或它的某一个依赖项。另一个程序正在使用此文件,进程无法访问。 (异常来自 HRESULT:0x80070020)

未能加载文件或程序集“Excel”或它的某一个依赖项。另一个程序正在使用此文件,进程无法访问。 (异常来自 HRESULT:0x80070020)


我的电脑不知道是怎么了,只是要外部引用的DLL,每次打开VS都会报这种错误,

每次都是删除这个DLL,再重新引用,不行,再重起电脑,再删除,再重新引用。。。

代码在其它电脑就不会有这种问题了。。。。求大神指点。。 --------------------编程问答-------------------- 你应该是用了excel的组件,然后没有从内存中释放。。。

但是没道理啊,重启电脑还要再删除一次? --------------------编程问答-------------------- 不知道你的情况和我以前遇到的同不同  我也是装系统以后就不行了 装的是精简版的XP  后来发现Excel少了组键 重下了个就好了   --------------------编程问答--------------------
引用 1 楼  的回复:
你应该是用了excel的组件,然后没有从内存中释放。。。

但是没道理啊,重启电脑还要再删除一次?


恩,是重启电脑就好了。呵呵。。。 --------------------编程问答-------------------- 问题是,我的VS项目也是开机后,第一次运行阿。。。。。


怎么可能出现,还没有从内存中释放。。。。。。 --------------------编程问答-------------------- http://topic.csdn.net/u/20120328/09/46f487c5-7ef5-4aca-8e6e-43abf25a2a9e.html
类似问题求解 --------------------编程问答--------------------  查看下你电脑的进程,看是否有占用此进程的,结束掉,可能你开机加载该进程了,仔细查找下!


 没关闭导致的! --------------------编程问答--------------------
引用 6 楼  的回复:
 查看下你电脑的进程,看是否有占用此进程的,结束掉,可能你开机加载该进程了,仔细查找下!


 没关闭导致的!


谢谢,不过我不可能每次运行VS时都要去看看进程吧,有没有,有的话就kill。。。。这也太麻烦了吧。。。 --------------------编程问答-------------------- 对   EXCEL 是这么个问题
给你一段代码,可以解决这问题,LZ好人。你懂的````

[DllImport("User32.dll", CharSet = CharSet.Auto)]
        public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
        private void KillExcelApp(Excel.Application xlsApp)
        {//干掉当前使用的EXCEL进程
            try
            {
                if (xlsApp != null)
                {
                    int iwProcessId;
                    GetWindowThreadProcessId(new IntPtr(xlsApp.Hwnd), out iwProcessId);
                    System.Diagnostics.Process.GetProcessById(iwProcessId).Kill();
                }
            }
            catch { }
        }

    //掉用时
if (xlSheet != null)
                        {
                            xlSheet.SaveAs(sfd.FileName, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                            xlsApp.Visible = false;
                            this.cph(10, 10);
                            MessageBox.Show("报表生成成功!");
                            KillExcelApp(xlsApp);
--------------------编程问答-------------------- 谢谢分享,

引用 8 楼  的回复:
对   EXCEL 是这么个问题
给你一段代码,可以解决这问题,LZ好人。你懂的````
C# code

[DllImport("User32.dll", CharSet = CharSet.Auto)]
        public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
        ……
--------------------编程问答-------------------- 童鞋们,有点眉目了。。

好像关闭杀毒软件与防护软件可以了。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,