2011-02-25 103 views
4

,我發現了以下情況例外,當我嘗試運行了我的WinForms應用程序,一直沒能找到解決的辦法:獲取錯誤System.ArgumentNullException未處理,值不能爲空。參數名:activationContext

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: 

我添加了一個處理程序應用程序事件類中的「未處理的錯誤」事件,但它永遠不會到達該階段,並且沒有運行的源代碼可以進入並進行診斷。

直到我添加了一個用戶控件(沒有任何花哨,只是一個標準的Windows用戶控件),然後將它拖到應用程序中的一個表單上(用戶控件和表單在同一個應用程序中),該應用程序就很好。應用程序的構建和編譯沒有任何錯誤或警告,但是當我嘗試運行它時,我馬上得到了上述錯誤。

有沒有人知道它可能是什麼,甚至我怎麼可以去調查它?我有點難以忍受這個,因爲我不知道如何去調查它。我從窗體中刪除了用戶控件,然後完全從應用程序中刪除了用戶控件,但錯誤並沒有消失。誠實地說,添加用戶控件可能是一條紅色鯡魚,但問題在添加後會直接顯示出來。

希望有人能幫忙。

+0

我剛剛回滾到工作版本並再次執行步驟以重新創建問題。這絕對是添加用戶控件。用戶控件沒有內容或代碼隱藏 - 將新的用戶控件添加到項目中沒有任何效果,但只要我將它從工具箱拖到錯誤返回的表單中。從表單中刪除它並從項目中刪除它並不能解決問題 - 它會一直存在,直到我回滾到以前的版本。 – Mordy 2011-02-25 11:20:53

+1

是否涉及點擊一次? http://www.tech-archive.net/Archive/VisualStudio/microsoft.public.vstudio.general/2008-11/msg00115.html – rene 2011-02-25 11:25:26

+0

不是故意的,但我剛剛取消選中「啓用clickonce安全設置」複選框在應用程序屬性的安全選項卡和錯誤已消失。我從來沒有想過會在那裏看到 - 據我所知,我沒有勾選那個框。 – Mordy 2011-02-25 11:40:27

回答

9

嘗試取消選中應用程序屬性(Projects Tab -> "Project Name" Properties-> Security Tab)的安全選項卡中的Enable clickonce security settings複選框。

+2

這工作,但我想知道爲什麼我在第一個得到錯誤。 – Keith 2012-04-25 17:36:55

+0

我試過了,它甚至可以工作,我可以將應用程序部署到測試服務器。但是,然後安裝失敗(明顯的錯誤)。你是如何部署你的應用程序的? – andreas 2015-01-14 23:03:44

+0

我和你@andreas有完全相同的問題。發佈後我無法編譯(發佈無法正常工作)。我得到了上面的錯誤,現在它已禁用ClickOnce安全性後解決。但是我的安裝仍然失敗。你有沒有想過這個? ClickOnce的安全設置與所有這些有什麼關係? – 2016-11-10 20:46:56

0

嘗試使用Build - > Clean Solution代替。我不知道爲什麼這不是在一個Build期間自動完成,但它沒有好抱怨

0

我也有VS2010 VB.NET中的這個問題,謝謝Rene! 取消勾選project_properties.security.enable點擊一次打消了我的問題

我的症狀表現如何: 我有一個窗體上的自定義用戶控件,並被迫手動刪除任何引用它裏面的InitializeComponent()子程序

原因: 我修改了自定義用戶控件的New()子例程後,我改變了New()以添加arg,並且沒有創建一個沒有arg的「默認」Sub New() ,按照winform頁面渲染的要求)

0

只是爲了解決這個問題,下面解決了它:

未選中應用程序屬性的安全選項卡中的「啓用clickonce安全設置」複選框。

正如Rene在我的問題的評論中所建議的那樣。

相關問題