c#XNA廃棄オブジェクトにアクセスできません。オブジェクト名: 'Texture2D'。しかし、私はそれを処分していない

エラー:破棄されたオブジェクトにアクセスできません。オブジェクト名: 'Texture2D'

なんでこんなことが起こっているの!私のコード全体のどこにでも、処分するよう指示しています! これは、XNA C#のLoadContent()で発生しています。 コードでは、このエラーが発生し、Texture2Dが強調表示されています。

 protected override void LoadContent()
    {
        SoundEffect.DistanceScale = 20;
        SetUpPlain();
        SetUpWalls();
       //Walls
        wallsEffect = new BasicEffect(graphics.GraphicsDevice);
        wallsEffect.World = Matrix.Identity;
        wallsEffect.Projection = vars.projection;
        wallsEffect.TextureEnabled = true;
        wallsEffect.Texture = Content.Load<**Texture2D**>("Textures\\Fence");
       //Set-up Player Options
        Player1.PlayerModel = Content.Load("PlayerA");
        Player1.BoundingSphere = new BoundingSphere(new Vector3(Player1.Position.X, Player1.Position.Y - 2, Player1.Position.Z), Player1.PlayerModel.Meshes[0].BoundingSphere.Radius * 0.04f);
        Player2.PlayerModel = Content.Load("PlayerA");
        Player2.BoundingSphere = new BoundingSphere(new Vector3(Player2.Position.X, Player2.Position.Y - 2, Player2.Position.Z), Player2.PlayerModel.Meshes[0].BoundingSphere.Radius * 0.04f);
        //
        loadStaticModel(Content, "Radio", null, 11, 4, -2, 0, 180, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "AmmoCrate", null, 10, 1, 0, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "AmmoCrate", null, 12, 1, 0, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "AmmoCrate", null, 11, 3, 0, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Forklift", null, 15, 0, -5, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "PepsiMachine", null, 25, 0, -5, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Chest", null, 10, 0, -20, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "PalletBoard", "Cork", 10, 0, -20, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Table", "Cork", 15, 0, -20, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Cylinder", "Cork", 15, 0, -40, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Wall", "Cork", 184, 0, -196, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "WallTop", "Cork", 184, 0, -188, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Wall", "Cork", 184, 0, -180, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Door1", "MetalA", 184, 0, -188, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Door1", "MetalA", 184, 0, -184, 0, 0, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Wall", "Cork", 188, 0, -176.15f, 0, 90, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        loadStaticModel(Content, "Wall", "Cork", 196, 0, -176.15f, 0, 90, 0, CollisionType.Default, LightingType.AmbientDirectional, true, false);
        for (int i = 1; i <= MapSize/8; i++)
        {
            loadStaticModel(Content, "Fence", "Fence", i * 8.12f - 4, 0, 0, 0, 270, 0, CollisionType.None, LightingType.AmbientDirectional, false, false);
            loadStaticModel(Content, "Fence", "Fence", 0, 0, -(i * 8.12f - 4), 0, 180, 0, CollisionType.None, LightingType.AmbientDirectional, false, false);
            loadStaticModel(Content, "Fence", "Fence", MapSize, 0, -(i * 8.12f - 4), 0, 0, 0, CollisionType.None, LightingType.AmbientDirectional, false, false);
            loadStaticModel(Content, "Fence", "Fence", i * 8.12f - 4, 0, -MapSize, 0, 90, 0, CollisionType.None, LightingType.AmbientDirectional, false, false);
        }
       //Sound
        vars.soundEffect[0] = Content.Load("Sounds\\NormalStep");
        vars.soundEffect[1] = Content.Load("Sounds\\Enter Sandman");
        vars.soundEffect[2] = Content.Load("Sounds\\PlayerJoinGame");
        vars.soundEffect[3] = Content.Load("Sounds\\JumpLand");
        vars.soundEffectInstance[0] = vars.soundEffect[1].CreateInstance();
        soundEffectPosition[0] = new Vector3(0, 200, 200);
        soundEffectEmitter[0] = new AudioEmitter();
        soundEffectEmitter[0].Position = soundEffectPosition[1];
        soundEffectListener[0] = new AudioListener();
        soundEffectListener[0].Position = Player1.Position;
        vars.soundEffectInstance[0].Apply3D(soundEffectListener[0], soundEffectEmitter[0]);
        vars.isSoundPlaying[0] = false;
       //Menu's
        vars.menuBackground = Content.Load("Textures\\menuBackground");
        PauseMenu.screenShotHighlight = Content.Load("Textures\\ScreenShotViewerHighlight");
        vars.MenuFont = Content.Load("Fonts//MenuFont");
       //Death HUD
        deathBackground = Content.Load("Textures\\deathBackground");
        //
        chatBackground = Content.Load("Textures\\chatBackground");
        plainTexture = Content.Load("Textures\\Grass");
       //Tank
        tank = Content.Load("tank");
        tankTransforms = new Matrix[tank.Bones.Count];
       //Sky Dome
        skyDome = Content.Load("SkyDome");
        skyDomeTexture = Content.Load("Textures\\skyBox");
        skyDomeTransforms = new Matrix[skyDome.Bones.Count];
        //
        font = Content.Load("Fonts//PCFont1");
        chatFont = Content.Load("Fonts//chatFont");
        xboxButtons = Content.Load("Fonts//xboxControllerSpriteFont");
        xboxFont = Content.Load("Fonts//MenuFont");
        spriteBatch = new SpriteBatch(graphics.GraphicsDevice);
        TextureEffect = Content.Load("TextureEffect");
       //Viewports
        leftViewport = GraphicsDevice.Viewport;
        rightViewport = GraphicsDevice.Viewport;
        leftViewport.Width = leftViewport.Width/2;
        rightViewport.Width = rightViewport.Width/2;
        rightViewport.X = leftViewport.Width;
       //
    }
0
Texture2Dをロードしようとすると例外がスローされますか?例外は何ですか? try ... catchでLoadContentのコードを囲むことができ、そこにキャッチされた例外を私たちに送信することができます。
追加された 著者 lysergic-acid,
あなたはその質問が答えられているのを見ることができるように答えとして投稿するべきです。
追加された 著者 Kevin Reid,
ContentManagerでDispose()を呼び出しますか?何らかのカスタムコンテンツプロセッサー/ローダーを使用していますか?あなたはモデルのような何か他のものを処分しますか?プログラム内にDispose()があり、そのテクスチャを呼び出すことができる何かがありますか?また、エラーメッセージのスタックトレースは何ですか?私が見ているのは、コードを読み込むことです - それはそこで失敗しますか?コードを初めて実行するとき、または将来のあるとき?
追加された 著者 Jon Watte,
私は決してDispose()を呼び、カスタムコンテンツプロセッサー/ローダーを使用していません。スタックトレースを取得するにはどうすればよいですか?
追加された 著者 Reece Aaron Lecrivain,
それを修正! LoadContent()がすでに読み込まれているときに私が誤って呼び出すことがありました。
追加された 著者 Reece Aaron Lecrivain,

1 答え

skyDomeTexture = Content.Load( "Textures \ skyBox");

これを試して

skyDomeTexture = Content.Load(@ "テクスチャ/スカイボックス");

0
追加された
あなたはそのままの文字列リテラルにはバックスラッシュをつけなければなりません。最初の例は文字列を\ sがスペースとしてエスケープし、2番目の例はsをエスケープしようとしません。
追加された 著者 Phill,