2010-03-24 3 views
1

우리는 대부분의 소스가 .NET Reflector을 통해 복구되었다고 생각합니다. dll을 C# 소스로 내보내는 유틸리티.dll에서 WinForms 복구

누락 된 부분은 .NET Reflector가 dll 원본을 내보낼 때 포함되지 않는 WinForms입니다.

dll에서 WinForms를 복구 할 수있는 방법이 있습니까?

감사합니다.

+0

häh? "WinForms"는 무엇입니까? 리플렉터는 모든 수업을 내보내므로 너 정확히 뭐가 없어 졌니? – TomTom

+0

예 모든 클래스를 내 보냅니다. 디자인보기에서 양식을 열면 일부 오류 메시지가 표시됩니다. "디자이너를로드하기 전에 데이터가 손실되지 않도록하려면 다음 오류를 해결해야합니다." –

답변

1

는 DLL에없는 경우

:-) 그것을 밖으로 얻을 수 없다 그러나 가능한 일부 클래스 파일은 당신이 검색하는 형태이다. 프로젝트에 System.Windows.Forms.dll에 대한 참조를 추가해야 할 수도 있습니다.

+0

다른 유틸리티가이 작업을 수행 할 수 있습니까? –

+0

우리는 다음에 무엇을해야한다고 제안하겠습니까? –

+0

먼저 Windows Form이 실제로 dll에 있는지 확인해야합니다. dll 파일에 없으면 복구 할 것이 없으므로 복구 할 수 없습니다. dll에 양식이 있는지 확인 하시겠습니까? WinForm은 부분 클래스 모음 일뿐입니다. 디자이너 및 코드. 따라서 전체 어셈블리를 내보낼 때 System.Windows.Forms.dll에 대한 참조를 추가하고 어떤 클래스가 가장 가능성있는 폼인지 알아 내려고 시도하십시오. – Rhapsody

0

Visual Studio 2005에서 Windows Forms 클래스는 부분 클래스으로 디자이너 생성 부분 (MyForm.designer.cs)과 실제 구현 (MyForm.cs)으로 나뉩니다. Explorer에서 새 Form을 처음부터 만들 때 볼 수 있습니다.

문제를 해결하려면 Reflector에서 내 보낸 클래스를 Visual Studio와 같은 방식으로 분할해야합니다. InitializeComponent() 메서드와 모든 컨트롤 선언을 MyForm.designer.cs 파일에 삽입하고 나머지 코드를 MyForm.cs 파일

+0

@divo 감사합니다. 나는 그 아이디어를 좋아한다. 나는 그것을 시도 할 것이다. –