我创建的可执行文件将无法运行,因为它无法找到XML文件

时间:2015-01-22 16:32:08

标签: c# xml xml-serialization executable

我一直致力于一个大项目,今天我尝试使用microsoft visual studio 2010从中创建可执行文件。这样可行,但是当尝试运行它时,程序将停止。这可能是因为我的函数“public List load(int levelnumber)”找不到项目路径。因为这个是同时编译的。我的XML在C:\ test4 \ myLevels \中,我的exe在我的C:\ test文件夹中。我自己将myLevels文件夹和XML文件放在C:\ test4 \文件夹中。对不起,我的英语不好。欢迎任何帮助!

错误(在荷兰语中,不知道如何将其更改为英语):

Bestanden die helpen bij het beschrijven van het probleem: 
C:\Users\woutr\AppData\Local\Temp\WER9F14.tmp.WERInternalMetadata.xml 
C:\Users\woutr\AppData\Local\Temp\WERD03.tmp.appcompat.txt 
C:\Users\woutr\AppData\Local\Temp\WERD81.tmp.mdmp Lees de 
onlineprivacyverklaring: go.microsoft.com/fwlink/?linkid=104288&clcid=0x0413
Als de onlineprivacyverklaring niet beschikbaar is, lees dan onze 
offlineprivacyverklaring: C:\Windows\system32\nl-NL\erofflps.txt

错误如何显示的照片:imgur.com/77iAOGe

XML类:

public class XML
{
    public void Save(List<Sprite> sprites, int levelnumber)
    {
        XmlSerializer serializer = new XmlSerializer(typeof(List<Sprite>));
        CreateDirectory("myLevels");
        using (TextWriter textWriter = new StreamWriter(@"myLevels\level_" + levelnumber + ".xml"))
        {
            serializer.Serialize(textWriter, sprites);
        }
    }

    public List<Sprite> load(int levelnumber)
    {
        XmlSerializer deserializer = new XmlSerializer(typeof(List<Sprite>));
        using (TextReader textReader = new StreamReader(@"myLevels\level_" + levelnumber + ".xml"))
        {
            List<Sprite> sprites = (List<Sprite>)deserializer.Deserialize(textReader);
            return sprites;
        }
    }

    private void CreateDirectory(string path)
    {
        if (!Directory.Exists(path))
        {
            DirectoryInfo dir = Directory.CreateDirectory(path);
        }
    }

}

0 个答案:

没有答案