我在Xamarin Studio中创建了一个新的MonoGame iOS解决方案。之后,我在项目中添加了一个文本文件(File.txt)。 但是当我在iPhone模拟器中运行项目时,Xamarin Studio没有加载文本文件。我在以下行中收到此错误消息:
System.IO.Stream stream = TitleContainer.OpenStream(filename);
System.IO.FileNotFoundException:找不到文件" / Users / Name / Library / Developer / CoreSimulator / Devices / 1B232780-3BD1-4AE9-8475-100219150CEF / data / Containers / Bundle / Application / 9631F7D3- CF8C-448A-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);
}
}
}
答案 0 :(得分:3)
右键点击该文件,然后将Build Action
设置为"内容"