我怎样才能解决这个问题? System.NullReferenceException:未将对象引用设置为对象的实例

时间:2013-02-11 12:49:39

标签: .net-4.5

刚刚遇到新的IIS和ASP.Net4的问题,我在旧服务器中使用旧版本的上传系统。 现在我的要求是将上传系统放入新服务器并使其运行。一开始很容易,但现在我遇到了一些问题。我可以登录和下载文件,效果很好,但如果我只是尝试上传文件,那么我会收到如下错误:

  

'/ DownloadManager'应用程序中的服务器错误。
   System.NullReferenceException:未将对象引用设置为实例   一个物体。
在   DimpleSoftwares.KFileUploadPlus.KRequestStream.ReadPreloaded(字节[]   缓冲区,Int32偏移量,Int32计数)
at   DimpleSoftwares.KFileUploadPlus.KRequestStream.Read(Byte []缓冲区,   Int32偏移,Int32计数)
在   DimpleSoftwares.KFileUploadPlus.KUploadRequest..ctor(KRequestStream s,   String strFileName,UploadModule UpLoadModule,Encoding encoding)

     

描述:执行期间发生未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:
System.Exception:System.NullReferenceException:   对象引用未设置为对象的实例。
at   DimpleSoftwares.KFileUploadPlus.KRequestStream.ReadPreloaded(字节[]   缓冲区,Int32偏移量,Int32计数)
at   DimpleSoftwares.KFileUploadPlus.KRequestStream.Read(Byte []缓冲区,   Int32偏移,Int32计数)
在   DimpleSoftwares.KFileUploadPlus.KUploadRequest..ctor(KRequestStream s,   String strFileName,UploadModule UpLoadModule,Encoding encoding)

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[例外:System.NullReferenceException:对象引用未设置为   一个对象的实例。
at   DimpleSoftwares.KFileUploadPlus.KRequestStream.ReadPreloaded(字节[]   缓冲区,Int32偏移量,Int32计数)
at   DimpleSoftwares.KFileUploadPlus.KRequestStream.Read(Byte []缓冲区,   Int32偏移,Int32计数)
在   DimpleSoftwares.KFileUploadPlus.KUploadRequest..ctor(KRequestStream s,   String strFileName,UploadModule UpLoadModule,Encoding encoding)]
  DimpleSoftwares.KFileUploadPlus.KUploadRequest..ctor(KRequestStream s,   String strFileName,UploadModule UpLoadModule,编码编码)   +2225 DimpleSoftwares.KFileUploadPlus.UploadModule.context_BeginRequest(Object   发件人,EventArgs e)+1766
  System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+165

我只是想知道如何解决这个问题?我必须在IIS中手动添加模块?因为例如我找不到 System.Web.SyncEventExecutionStep System.Web.HttpApplication.ExecuteStep

我真的错了什么而我看不到......

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题"对象引用未设置为对象的实例"之前和它主要是由于.NET v4.5。

如果可能(除非您确实需要v4.5),您是否可以尝试将.NET Framework从v4.5降级到v4.0并再次运行代码。版本4.5实际上并未显示在IIS ApplicationPool中,因此当您看到您的Web应用程序向您显示它使用的是v4.0时,可能会产生混淆。请注意,当您卸载4.5时,您必须重新安装v4.0,因为卸载v4.5与之前版本的.NET不同,因为它取消了v4.0(例如v3.0,v3.5,其中删除3.5以及必然删除3.0)。

希望这会有所帮助。

答案 1 :(得分:0)

我知道现在为时已晚,但这对其他人有帮助。 只需转到应用程序属性 - >构建 - >将平台目标更改为x64或“任何CPU”。 使用此设置它应该可以工作。