2013-05-26 2 views
4

다음 글 post은 내 문제와 비슷하게 생겼지 만 궁극적으로 모든 세부 사항이 똑같지는 않습니다. 따라서 동일한 내용의 클레임을 방지하기 위해 전화를 걸었습니다.모노 게임 콘텐츠로드 파일을 찾을 수 없습니다.

가 나는이 예외 다음 (끝 부분에 붙여 넣기)받을 2 단계의 끝에서의 결과 monogame 응용 프로그램을 실행하면 내가 쳤을 때 :

나는 monogame tutorial (현재 2 단계에서) 자 마린 스튜디오에서이 다음입니다 플레이어 컨텐트를로드하려고 시도하는 코드 줄. AFAIK, 출력 폴더에 복사 된 Player 콘텐츠 파일을 가지고 있지만, 어떻게 든 정확하게 검사되지 않은 Andrew Virtual Machine (AVM) 에 올바르게 배치되지 않았다고 가정합니다. 배포 된 내용 나는 AVM을 탐험하고 어떤 것들이 있는지 알아 내려고 Android Monitor를 뽑았지만, 그걸 알아내는 행운이 없었습니다 ... AVM에서 실행되는 것이 분명하지 않은 것으로 보이는 파일은 예외 인 것 같습니다. 콘텐츠 파일을 찾는 중 ...하지만 그것을 해결하는 방법을 알아낼 수 없습니다.

감사합니다. 감사합니다. [MonoDroid] 처리되지 않은 예외 : Microsoft.Xna.Framework.Content.ContentLoadException :

소식통 나는이 here

내가보고 오전을 제외하고이 문제를 데 프로젝트는 다음입니다 수 없습니다 그래픽 \ 플레이어 자산을 비 콘텐츠 파일로로드하십시오! ---> Microsoft.Xna.Framework.Content.ContentLoadException : 스트림 오류가 발생했습니다. ---> Java.IO.FileNotFoundException : 'Java.IO.FileNotFoundException'유형의 예외가 발생했습니다. [MonoDroid] at Android.Runtime.JNIEnv.CallObjectMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue [] parms) [0x00000] in : 0 [MonoDroid] at Android.Content.Res.AssetManager.Open (System.String [MonoDroid] at Microsoft.Xna.Framework.TContentManager.OpenStream (System.String name) [0x00000] in : 0 [MonoDroid] Microsoft.Xna.Framework.Content.ContentManager.OpenStream .String assetName) [0x00000] in : 0 [MonoDroid] --- 관리 예외 스택 추적 --- [MonoDroid] java.io.FileNotFoundException : android.content.res의 Content/Graphics/player.xnb [MonoDroid] .AssetManager.openAsset (네이티브 메소드) [MonoDroid] from android.content.res.AssetManager.open (AssetManager.java:289) [MonoDroid] android.content.res.AssetManager.open (AssetManager.java:289) [MonoDroid] ] on mono.java.lang.RunnableImplementor.n_run (네이티브 메소드) [MonoDroid] at mono.java.lang.RunnableImplementor.run (RunnableImplementor.java:29) [MonoDroid] at android.os.Handler.handleCallba ck (Handler.java:605) android.os.Handler.dispatchMessage (Handler.java:92) [MonoDroid] android.os.Looper.loop (Looper.java:137) 안드로이드의 [MonoDroid]. app.ActivityThread.main (ActivityThread.java:4424) [MonoDroid] at java.lang.reflect.Method.invokeNative (네이티브 메소드) [MonoDroid] at java.lang.reflect.Method.invoke (Method.java:511) [ MonoDroid] at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) [MonoDroid] at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) [MonoDroid] at dalvik .system.NativeStart.main (네이티브 메서드) [MonoDroid] [MonoDroid] --- 내부 예외 스택 추적 끝 --- [MonoDroid] at Microsoft.Xna.Framework.Content.ContentManager.OpenStream (System.String assetName) [ 0x00000] : 0 [MonoDroid] at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset [Texture2D] (System.String assetName, System.Action1 recordDisposableObject) [0x00000] in : 0 [MonoDroid] --- 내부 끝 예외적 인 역 ck 추적 --- [MonoDroid] Microsoft.Xna.Framework.Content.ContentManager.ReadAsset (문자열, System.Action1) < 0x0042c> [MonoDroid] at Microsoft.Xna.Framework.Content.ContentManager.Load (문자열) < 0x000c3> [MonoDroid] SampleShooter.Game1.LoadContent()에서 < 0x0018b> [MonoDroid] Microsoft.Xna.Framework.Game.Initialize()에서 < 0x0023f> [MonoDroid] SampleShooter.Game1.Initialize() < 0x00037> [에서 MonoDroid ]에서 Microsoft.Xna.Framework.Game.[MonoDroid] (Microsoft.Xna.Framework.GameTime) < 0x0002b> [MonoDroid] .GameTime) < 0x0002f> [MonoDroid] Microsoft.Xna.Framework.Game.Tick()에서 < 0x00493> [MonoDroid] Microsoft.Xna.Framework.AndroidGameWindow.OnUpdateFrame (OpenTK.FrameEventArgs) < 0x000a7> [MonoDroid] OpenTK에서의 .Platform.Android.AndroidGameView.UpdateFrameInternal (OpenTK.FrameEventArgs) < 0x00033> [MonoDroid] OpenTK.Platform.Android.AndroidGameView.RunIteration (System.Threading.CancellationToken)에서 < 0x001c3> [MonoDroid]에서 OpenTK.Platform.Android.AndroidGameView/c__AnonStorey0. <> m__2 (객체) < 0x00027> Android.App.SyncContext/c__AnonStorey2F의 [MonoDroid] <> m__1A() < 0x00023> [MonoDroid] java.lang.Thread의/RunnableImplementor.Run() < 0x0003f> [MonoDroid] Java.Lang.IRunnableInvoker.n_Run에서의 (INTPTR, INTPTR) < 0x00037> [MonoDroid]에서 (래퍼 동적 메서드) [모노] 처리되지 않은 예외 : [모노] Microsoft.Xna.Framework.Content.ContentLoadException : 그래픽을로드 할 수 없습니다. \ 플레이어 저작물을 콘텐츠가 아닌 파일로 저장하세요. ---> Microsoft.Xna.Framework.Content.ContentLoadException : 스트림 오류가 발생했습니다. ---> Java.IO.FileNotFoundException : 'Java.IO.FileNotFoundException'유형의 예외가 발생했습니다. [mono] Android.Runtime.JNIEnv.CallObjectMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue [] parms) [0x00000] in : 0 [mono] Android.Content.Res.AssetManager.Open (System.String Microsoft.Xna.Framework.Content.ContentManager.OpenStream (System.String name)의 [0x00000]에서 0 [모노] : .String assetName) [0x00000] in : 0 [mono] --- 관리 예외 스택 추적 끝 - [mono] java.io.FileNotFoundException : android.content.res의 Content/Graphics/player.xnb [mono] .AssetManager.openAsset (네이티브 메서드) [모노] android.content.res.AssetManager.open (AssetManager.ja [모노] [오류] 치명적이지 않은 예외 : Microsoft.Xna.Framework.Content.ContentLoadException : 그래픽 \ 플레이어 자산을 비 콘텐트 파일로 사용하라! ---> Microsoft.Xna.Framework.Content.ContentLoadException : 스트림 오류 열기 ---> Java.IO.FileNotFoundException : 'Java.IO.FileNotFoundException'유형의 예외 던졌습니다. [mono] Android.Runtime.JNIEnv.CallObjectMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue [] parms) [0x00000] in : 0 [mono] Android.Content.Res.AssetManager.Open (System.String Microsoft.Xna.Framework.Content.ContentManager.OpenStream (System.String name)의 [0x00000]에서 0 [모노] : .String assetName) [0x00000] in : 0 [mono] --- 관리 예외 스택 추적 끝 - [mono] java.io.FileNotFoundException : android.content.res의 Content/Graphics/player.xnb [mono] .AssetManager.openAsset (원시 메소드) android.content.res.AssetManager.open에서 [모노 (로이드 monogame 프로젝트

답변

2

콘텐츠 에셋/콘텐츠 폴더 프로젝트에 추가되어야 바와 같이 내장 .xnb 파일을 출력 디렉토리에 복사하는 것이 아니라

+0

감사합니다. @bruinbrown 프로젝트의 콘텐츠 폴더에 이미 추가되어 있습니다. 빌드의 일부로 복사되며 수동으로 생성되지는 않습니다. 그래서 그게 문제가 아니야 :) 다른 아이디어? – BotHead

7

그래서 마침내 XNB 파일을 빌드 작업을위한 AndroidAsset으로 표시해야하고 콘텐츠는 예제와 같이 표시하지 않아도된다는 것을 알았습니다. 필자가 따르는 예제는 Windows Mobile 개발을 목표로하기 때문에 파일은 일반적으로 Windows 응용 프로그램의 내용으로 표시되므로 안심할 수 있습니다. 반면 Android의 경우 XNA에서 AndriodAsset으로 표시해야 파일을 액세스 할 수 있습니다. 원시 콘텐츠 데이터 (콘텐츠 또는 자산 폴더에 파일이 있는지 여부에 관계 없음). 콘텐츠 관리자의 루트 폴더는 기본적으로 "콘텐츠"이므로 여기에 파일을 추가하고 콘텐츠가 아닌 자산으로 표시해야합니다.

+0

답변으로 표시해야합니다! – Matt

관련 문제