2013-06-24 2 views
1

Xamarin Studio에서 MonoGame을 사용하여 게임을 시작했습니다. 그러나 Mono.Cairo를 사용하여 그래픽을 렌더링합니다.Xamarin의 Mono/MonoGame 프로젝트에 DLL이 없습니다.

모든 것이 내 PC에서 제대로 작동하지만 코드는 컴파일되고 실행되며 아무런 문제가 없습니다. 내 친구에게 게임을 제공했을 때, Mono.Cairo.dll이 누락되었다고 말하는 것은 효과가 없었습니다.

그래서 Mono.Cairo.dll을 게임에 포함시켜 보았습니다. 분명히 Xamarin Studio에서 Mono 폴더에있는 파일을 찾고 배포 할 때마다 출력 bin 폴더에 복사하는 것 이외에는 그럴 수 없습니다.하지만 그건 별거 아니에요.

내 친구는 libcairo-2.dll이 누락 된 것을 확인했습니다. 그의 컴퓨터에는 GTK +가 설치되어 있지 않으므로 이해할 수 있습니다. Mono.Cairo.dll은 단지 래퍼입니다. 그러나 GTK + 웹 사이트에서 libcairo-2.dll을 다운로드하고 게임에 포함 시키면, libcairo-2.dll이 누락되었다고 말하는 동일한 오류 메시지가 나타납니다. 단, Mono.Cairo와 함께 폴더에 있습니다. dll 및 게임 실행 파일.

내가 굉장히 명백한 것을 놓치고 있습니까, 아니면 GTK +를 다운로드하고 설치하도록 요구하는 것 이외에이 게임을 배포 할 방법이 없습니까? 또한 Xamarin Studio에서 출력 폴더에 필요한 DLL을 자동으로 포함하도록 설정하는 방법이 있습니까?

오류 메시지 :

처리되지 않은 예외 : System.DllNotFoundException : DLL 'libcairo-2 .DLL'를로드 할 수 없습니다 : 지정된 모듈을 찾을 수 없습니다. VGame.Renderer에서 Cairo.ImageSurface..ctor에서 Cairo.NativeMethods.cairo_image_surface_create (포맷 형식 INT32 폭 INT32 높이) (서식 포맷 INT32 폭 INT32 높이)에서 (0x80070의 07E HRESULT에서 예외 ). Arena.Program.Main에서 VGame.VectorGameSession..ctor()에서 (INT32 폭, INT32 높이)()

답변

0

가 실제로 출력 폴더에있는 DLL을 포함하는 자 마린 말할 수있는 방법입니다 크기를 조정합니다.

솔루션에서 프로젝트를 선택한 다음 References 폴더를 열거 나 확장하십시오.

은 바이너리 출력 폴더에 .DLL 파일의 로컬 복사본을 포함하려면 바로이 참조에폴더를 클릭하고 로컬 복사본을 확인합니다.

편집 :
수동, .dll 인 파일을 포함 오른쪽 Edit References를 클릭 참조 폴더를 클릭 .Net-Assembly를 선택하고 .DLL 파일로 이동합니다.

관련 문제