본문 바로가기

Study/에러 노트

클래스 Form1은(는) 디자인 가능하지만 파일의 첫 번째 클래스가 아닙니다. Visual Studio에서 디자이너는 파일의 첫 번째 클래스를 사용해야 합니다. 파일에서 첫 번째 클래스가 되도록 해당 클래..

위 사진은 윈폼 개발중 발생한 에러이다.(이놈때문에 하루 날려먹음 -.,-)

 

-클래스 Form1은(는) 디자인 가능하지만 파일의 첫 번째 클래스가 아닙니다. Visual Studio에서 디자이너는 파일의 첫 번째 클래스를 사용해야 합니다. 파일에서 첫 번째 클래스가 되도록 해당 클래스 코드를 이동한 다음 디자이너를 다시 로드하십시오.

 

나는 이 오류를 처음에 뭐지? 하고 디자인 창을 닫았다가 문제가 발생한 케이스이다.

 

해당 오류 발생후 디자인을 닫는 순간...

 

갑자기 어떠한 방법으로도 Form1.cs의 디자인 창을 열 수가 없게된다!!

 

그래서 해당 오류의 원인을 확인하고 싶어도 방법이 없는것...

 

일단 그래서 디자인창 부터 살려보기위해 구글링을 해본 결과 방법은 있었다.

 

프로젝트 파일을 텍스트 편집기로 연다음.

 

<Compile Include="Form1.cs" /> 

 

이부분을 찾는다.

 

그럼 이걸 

 

<Compile Include="Form1.cs">
    <SubType>Form</SubType>
</Compile>

 

이렇게 바꿔준뒤 솔루션에서 다시 로드를 한뒤 Form1.cs를 더블클릭 해주면 다시 디자인창이 나올것이다.

 

자 그럼 다시 본론으로 들어가 위 사진의 해결방법은 뭐냐...

 

사실 에러 문구그대로이다.

 

Form1.cs에서 Form1 클래스보다 먼저 선언된 클래스가 있을것이다. 해당 클래스를  Form1클래스 보다 뒤에 선언되게 바꿔주면 해결된다....

 

public class ClassA
{
	//...
}

public class ClassB
{
	//..
}

public partial class Form1 : Form
{
	//....
}

위 코드 처럼 되어있으면 에러가 난다.

 

public partial class Form1 : Form
{
	//....
}

public class ClassA
{
	//...
}

public class ClassB
{
	//..
}

이렇게 바꿔주자!!!

 

오늘의 한줄 : 항상 순서가 문제다...