2011-02-25 4 views
4

내 윈폼 응용 프로그램을 실행하려고하고 그것에 대한 솔루션을 찾을 수 없어 때 나는 다음과 같은 예외를 받고 있어요 : 나는에 대한 처리기를 추가 한오류 가져 오기 System.ArgumentNullException 처리되지 않았습니다, 값 null 일 수 없습니다. 매개 변수 이름 : 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: 

을 applicationevents 클래스에서 "처리되지 않은 오류"이벤트가 발생하지만 그 단계에 도달하지 못하고 침입하여 진단 할 수있는 소스 코드가 실행되고 있지 않습니다.

응용 프로그램은 사용자 정의 컨트롤 (단순한 표준 Windows 사용자 컨트롤)을 추가하고 응용 프로그램의 폼 (사용자 컨트롤 및 폼은 같은 응용 프로그램에 있음)에 추가 할 때까지 문제가 없습니다. 응용 프로그램은 오류나 경고없이 빌드하고 컴파일하지만 위의 오류가 발생하면 바로 실행합니다.

누구나 어떤 아이디어가 될 수 있습니까? 아니면 어떻게 조사 할 수 있습니까? 나는 그것을 조사하는 방법을 모르겠다. 양식에서 사용자 정의 컨트롤을 제거한 다음 응용 프로그램에서 사용자 정의 컨트롤을 완전히 제거했지만 오류가 사라지지 않았습니다. 모든 정직에서 사용자 컨트롤을 추가하는 것은 청어이지만 문제를 추가 한 직후에 나타납니다.

누군가가 도움을 줄 수 있기를 바랍니다.

+0

방금 ​​작업 버전으로 롤백하고 단계를 다시 거쳐 문제를 다시 작성했습니다. 그것은 분명히 그것을하는 사용자 정의 컨트롤을 추가합니다. 사용자 정의 컨트롤에는 내용이나 코드가 없습니다. 새 사용자 정의 컨트롤을 프로젝트에 추가해도 아무 효과가 없지만 도구 상자에서 폼으로 드래그하자마자 오류가 반환됩니다. 양식에서 제거하고 프로젝트에서 삭제해도 문제가 해결되지 않습니다. 이전 버전으로 롤백 할 때까지 계속됩니다. – Mordy

+1

한번 클릭하면됩니까? http://www.tech-archive.net/Archive/VisualStudio/microsoft.public.vstudio.general/2008-11/msg00115.html – rene

+0

고의적으로는 아니지만 'clickonce 보안 설정 사용'확인란의 선택을 취소했습니다. 보안 탭에서 오류가 사라졌습니다. 나는 그곳을 바라 보는 것을 결코 생각하지 못했을 것입니다. – Mordy

답변

9

응용 프로그램 속성의 보안 탭 (Projects Tab -> "Project Name" Properties-> Security Tab)에서 Enable clickonce security settings 확인란의 선택을 취소 해보세요.

+2

이 방법이 효과적 이었지만 왜 처음에는 오류가 발생했는지 알고 싶습니다. – Keith

+0

나는 그것을 시험해 보았다. 심지어 테스트 서버에 앱을 배포 할 수 있었다. 그러나 설치가 실패합니다 (매니 페스트 오류). 애플리케이션을 어떻게 배치 했습니까? – andreas

+0

@andreas와 똑같은 문제가 있습니다. 나는 출판 후 컴파일 할 수 없을 것이다. (출판은 어쨌든 실패했다.) 위의 오류가 발생하여 ClickOnce 보안을 사용하지 않으면 해결됩니다. 하지만 여전히 설치가 실패합니다. 이걸 알아 냈어? 그리고 ClickOnce의 보안 설정은이 모든 작업과 관련이 있습니까? –

0

대신 빌드 -> 클린 솔루션을 사용해보십시오. 나는 이것이 빌드 동안 자동적으로 행해지 지 않는 이유를 모르지만, 아무런 불평이 없다.

0

VS2010 VB.NET에서이 문제가 발생했다. 내가 폼에 사용자 지정 사용자 컨트롤을했다 하고,() 서브 루틴

에게 InitializeComponent를 내부에 수동으로 모든 참조를 제거해야했다 : 을 선택 취소 project_properties.security.enable 클릭 한 번 내 증상이 나타난 어떻게 내 문제

제거

이유 : 내 사용자 지정 사용자 정의 컨트롤의 New() 서브 루틴을 수정 한 후 내 Winform이 손상되어 New()가 arg를 추가하도록 변경했으며 arg '이없는'New 'Sub New()를 만들지 않았습니다. , winform 페이지 렌더링에 필요한대로)

0

이 질문에 대한 결론을 내리면 다음과 같이 해결했습니다.

응용 프로그램 속성의 보안 탭에서 "clickonce 보안 설정 사용"확인란의 선택을 취소합니다.

내 질문에 대한 의견에서 Rene이 제안했습니다.

관련 문제