[C#] C#에서 DirectX 빌드 CS0012 에러 'IsConstModifier' 형식이 참조되지 않은 어셈블리에 정의되었습니다.

Programming/VisualStudio|2020. 7. 31. 10:30
반응형

 

 

오랜만에 C#툴을 정리하려고 켜서 빌드를 하려고 하는데 아래 에러가 나더라구요.

[Visual Studio] CS0012 에러 'IsConstModifier' 형식이 참조되지 않은 어셈블리에 정의되었습니다.

 

 

비주얼스튜디오2017버전 c#으로 예전 버전에서 만든

프로젝트가 에러가 났는데 정확히 어느 부분에서 에러가 났냐면

버텍스 생성하는 부분에서 

m_vB = new VertexBuffer(
typeof(CustomVertex.PositionOnly),
(m_iXSize + 1) * (m_iZSize + 1),
SystemMgr.Instance.GetCDevice().GetDevice(),
Usage.None,
CustomVertex.PositionOnly.Format,
Pool.Managed);

CustomVertex.PositionOnly.Format, 

여기서 계속 오류 CS0012가 나더라구요.

구글을 뒤져보니 마이크로소프트에서는 더 이상 지원하지 않는다고 해서(빠직)

보니까 인자값이 상수라서 아래와 같이 수정했습니다.

 


 

 

 


 

m_vB = new VertexBuffer(
typeof(CustomVertex.PositionOnly), 
(m_iXSize + 1) * (m_iZSize + 1), 
SystemMgr.Instance.GetCDevice().GetDevice(), 
Usage.None, 
/*CustomVertex.PositionOnly.Format*/ VertexFormats.Position,
Pool.Managed);

다시 빌드를 하던 중 에러가 나는데

'LoaderLock' : DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31b~~~~~\Microsoft.DirectX.dll'

이(가) OS 로더 잠금 내에서 관리되는 실행을 시도했습니다.

관리 코드를 DllMain 또는 이미지 초기화 함수 안에서 실행하지 마십시오.

이렇게 하면 응용 프로그램이 응답하지 않을 수 있습니다.'

라고 나오더라구요.

 

해당 에러는 아래 포스팅에서 해결하시면 됩니다.

 

https://playground10.tistory.com/215

 

 

 

이렇게 하면 다시 빌드가 되고 완료됩니다.

읽어주셔서 감사합니다.

 

반응형

댓글()