2016-12-18 3 views
0

Я создал новое решение iOS для MonoGame в Xamarin Studio. После этого я добавил текстовый файл (File.txt) в свой проект. Но Xamarin Studio не загружает текстовый файл, когда я запускаю проект в симуляторе iPhone. Я получаю сообщение об ошибке в следующей строке:Как загрузить текстовый файл в Xamarin Studio?

System.IO.Stream stream = TitleContainer.OpenStream(filename); 

System.IO.FileNotFoundException: Не удалось найти файл «/ Users/Имя/Библиотека/Разработчик/CoreSimulator/Devices/1B232780-3BD1-4AE9-8475 -100219150CEF/данных/Контейнеры/Пачка/Применение/9631F7D3-CF8C-448а-989B-974E984600D7/Loadtextfile.app/file.txt».

Почему Xamarin Studio не находит файл? Я добавил текстовый файл в мое решение в Xamarin Studio, и мое решение сохраняется на моем рабочем столе.

Как загрузить текстовый файл?

А вот полный код:

using System; 
using Microsoft.Xna.Framework; 
using Microsoft.Xna.Framework.Graphics; 
using Microsoft.Xna.Framework.Input; 
using System.IO; 
using System.IO.IsolatedStorage; 
using System.Runtime.Serialization; 

namespace Loadtextfile 
{ 
public class Game1 : Game 
{ 
    GraphicsDeviceManager graphics; 
    SpriteBatch spriteBatch; 
    private const string filename = "File.txt"; 
    string[] strs; 
    string tmpLine; 

    public void LoadFile() 
    { 
     System.IO.Stream stream = TitleContainer.OpenStream(filename); 
     using (var reader = new StreamReader(stream)) 
     { 
      while (!reader.EndOfStream) 
      { 
       string line = reader.ReadLine(); 
       strs = line.Split(';'); 
       //... 
      } 
     } 
    } 

    public Game1() 
    { 
     graphics = new GraphicsDeviceManager(this); 
     Content.RootDirectory = "Content"; 
    } 

    protected override void Initialize() 
    {   
     base.Initialize(); 
    } 

    protected override void LoadContent() 
    { 
     spriteBatch = new SpriteBatch(GraphicsDevice); 
     LoadFile(); 
    } 

    protected override void Update(GameTime gameTime) 
    { 

     base.Update(gameTime); 
    } 

    protected override void Draw(GameTime gameTime) 
    { 
     graphics.GraphicsDevice.Clear(Color.CornflowerBlue); 

     base.Draw(gameTime); 
    } 
} 

}

ответ

3

Щелкните правой кнопкой мыши на файл и установить Build Action в "Content"

+0

Thanx. Оно работает. – JohnDark0