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

VS2013进入断点的时候,跳出很多错误,异常:已捕获: "未能加载文件或程序集....

引发了这些异常,但是try catch并没有捕获到异常,而且提示的Cementing.Common.XmlSerializers根本不存在,截图如下:


引发异常的代码如下:

        public T XmlDeserializeFS<T>(string pXmlPath)
        {
            try
            {
                if (!System.IO.File.Exists(pXmlPath))
                {
                    throw new SystemException("文件不存在");
                }

                System.IO.Stream mFS = System.IO.File.OpenRead(pXmlPath);

                //跟踪到下面这语句,就跳出几个异常信息,但是不会进入catch,而且程序也照常运行,后面也可以反系列化
                System.Xml.Serialization.XmlSerializer mXS = new System.Xml.Serialization.XmlSerializer(typeof(T));
                object mObj = mXS.Deserialize(mFS);

                mFS.Close();

                return (T)mObj;

            }
            catch (NullReferenceException NullEx)
            {
                throw NullEx;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }



异常信息(共4个)如下:

异常:已引发: "未能加载文件或程序集“Cementing.Common.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。" (System.IO.FileNotFoundException)
引发了一个 System.IO.FileNotFoundException: "未能加载文件或程序集“Cementing.Common.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。"
时间: 2013/12/15 23:30:03
线程: <无名称>[2568]

异常:已捕获: "未能加载文件或程序集“Cementing.Common.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。" (System.IO.FileNotFoundException)
捕获到一个 System.IO.FileNotFoundException: "未能加载文件或程序集“Cementing.Common.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。"
时间: 2013/12/15 23:30:03
线程: <无名称>[2568]


异常:已引发: "未能加载文件或程序集“Cementing.Common.XmlSerializers”或它的某一个依赖项。系统找不到指定的文件。" (System.IO.FileNotFoundException)
引发了一个 System.IO.FileNotFoundException: "未能加载文件或程序集“Cementing.Common.XmlSerializers”或它的某一个依赖项。系统找不到指定的文件。"
时间: 2013/12/15 23:30:03
线程: <无名称>[2568]

异常:已捕获: "未能加载文件或程序集“Cementing.Common.XmlSerializers”或它的某一个依赖项。系统找不到指定的文件。" (System.IO.FileNotFoundException)
捕获到一个 System.IO.FileNotFoundException: "未能加载文件或程序集“Cementing.Common.XmlSerializers”或它的某一个依赖项。系统找不到指定的文件。"
时间: 2013/12/15 23:30:03
线程: <无名称>[2568]
--------------------编程问答-------------------- 这些不是错误,不用管它们。 --------------------编程问答-------------------- 右键 解决方案 先清理再重新生成 --------------------编程问答--------------------
引用 2 楼 q107770540 的回复:
右键 解决方案 先清理再重新生成


清理过了,还是有这个提示。
而且我从来没有Cementing.Common.XmlSerializers这样的class或者project存在过。

虽然不影响运行,但是看着碍眼,反正我的程序里头,至始至终都保持着没有警告什么的
--------------------编程问答-------------------- 嗯,读一读,XML序列化的代码,就知道是为什么了。 --------------------编程问答-------------------- 还没开始系列化的,只是在New的时候就出现了
--------------------编程问答-------------------- 调试时试图进入,却没有相应的调试文件及信息,进而引发异常。可以将Microsoft符号服务器(调试->选项和设置->调试->符号->Microsoft符号服务器)打开,并设置符号的缓存位置,再调试看看。 --------------------编程问答--------------------
引用 6 楼 xxdddail 的回复:
调试时试图进入,却没有相应的调试文件及信息,进而引发异常。可以将Microsoft符号服务器(调试->选项和设置->调试->符号->Microsoft符号服务器)打开,并设置符号的缓存位置,再调试看看。


一样的错误。

倒是我设置了下签名,就从以前的4个错误,变为2个了。
就是一个已引发,一个已捕获。

--------------------编程问答--------------------
引用 7 楼 cnwolfs 的回复:
Quote: 引用 6 楼 xxdddail 的回复:

调试时试图进入,却没有相应的调试文件及信息,进而引发异常。可以将Microsoft符号服务器(调试->选项和设置->调试->符号->Microsoft符号服务器)打开,并设置符号的缓存位置,再调试看看。


一样的错误。

倒是我设置了下签名,就从以前的4个错误,变为2个了。
就是一个已引发,一个已捕获。


1.使用的.NET平台是否一致?比如4.0引用4.5也会导致。
2.是否使用了不一样平台的DLL。比如使用了32位的DLL,却在64位的模式下编译。也同样会引发。 --------------------编程问答-------------------- 只是你这台电脑这样吗?有加入到VSS(有人签出后修改了引用后会这样)吗?
换台电脑试试,确定开发环境都一致
--------------------编程问答--------------------
引用 9 楼 rockyljt 的回复:
只是你这台电脑这样吗?有加入到VSS(有人签出后修改了引用后会这样)吗?
换台电脑试试,确定开发环境都一致


单机开发,没有VSS。

--------------------编程问答--------------------
引用 8 楼 xxdddail 的回复:
Quote: 引用 7 楼 cnwolfs 的回复:

Quote: 引用 6 楼 xxdddail 的回复:

调试时试图进入,却没有相应的调试文件及信息,进而引发异常。可以将Microsoft符号服务器(调试->选项和设置->调试->符号->Microsoft符号服务器)打开,并设置符号的缓存位置,再调试看看。


一样的错误。

倒是我设置了下签名,就从以前的4个错误,变为2个了。
就是一个已引发,一个已捕获。


1.使用的.NET平台是否一致?比如4.0引用4.5也会导致。
2.是否使用了不一样平台的DLL。比如使用了32位的DLL,却在64位的模式下编译。也同样会引发。


整个解决方案都是在4.0下的,引用的dll也都是4.0或者4.0以下的。

虽然在这里报错,但是结果还是成功执行了,而且正确。

再者,System.Xml.Serialization.XmlSerializer是.Net FrameWork中带的。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,