获取错误System.ArgumentNullException未处理,值不能为null。参数名称:activationContext

时间:2011-02-25 11:14:36

标签: vb.net winforms

当我尝试运行Winforms应用程序并且无法找到解决方案时,我收到以下异常:

System.ArgumentNullException was unhandled
  Message=Value cannot be null.
Parameter name: activationContext
  Source=mscorlib
  ParamName=activationContext
  StackTrace:
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

我在applicationevents类中为“未处理的错误”事件添加了一个处理程序,但它从未到达该阶段,并且没有运行的源代码,我可以进入并诊断。

应用程序很好,直到我添加了一个用户控件(没什么花哨,只是一个标准的Windows用户控件),然后将其拖到应用程序中的表单上(用户控件和表单在同一个应用程序中)。应用程序构建和编译时没有任何错误或警告,但当我尝试运行它时,我立即得到上述错误。

有没有人知道它可能是什么,甚至我怎么去调查它?由于我不确定如何调查它,我对这一点感到有点难过。我从表单中删除了用户控件,然后我完全从应用程序中删除了用户控件,但错误并没有消失。老实说,添加用户控件可能是一个红色的鲱鱼,但问题在添加后就会出现。

希望有人可以提供帮助。

4 个答案:

答案 0 :(得分:9)

尝试取消选中应用程序属性(Enable clickonce security settings)的安全性标签中的Projects Tab -> "Project Name" Properties-> Security Tab复选框。

答案 1 :(得分:0)

尝试构建 - >改为清洁解决方案我不知道为什么在Build期间没有自动完成,但它没有好抱怨

答案 2 :(得分:0)

我在VS2010 VB.NET中也有这个问题,谢谢Rene! 取消选中project_properties.security.enable点击一次删除我的问题

我的症状如何表现: 我在表单上有一个自定义用户控件,并被迫在InitializeComponent()子例程中手动删除对它的任何引用

原因: 我修改了我的自定义用户控件的New()子例程后,我的Winform已经损坏,在那里我更改了New()以添加arg'并且我没有创建一个默认的' Sub new(),没有arg' s,如winform页面渲染所需的那样)

答案 3 :(得分:0)

为了解决这个问题,以下解决了这个问题:

取消选中应用程序属性的安全性选项卡中的“启用clickonce安全设置”复选框。

如Rene在我的问题评论中所建议的那样。