C# 如何在特定目录中创建/存储xml文件(由序列化程序生成)?

C# 如何在特定目录中创建/存储xml文件(由序列化程序生成)?,c#,C#,下面的代码在应用程序的可执行文件旁边创建XML文件。 但是,我希望在可执行文件旁边的某个文件夹中创建一个XML文件 例如(我想得到这样的行为): 我当前使用的代码 public static void Save() { using (var file = File.Create(Singletone.FileName)) formatter.Serialize(file, Singletone); } 和反序列化 public static void Load()

下面的代码在应用程序的可执行文件旁边创建XML文件。 但是,我希望在可执行文件旁边的某个文件夹中创建一个XML文件

例如(我想得到这样的行为):

我当前使用的代码

public static void Save()
{
  using (var file = File.Create(Singletone.FileName))
         formatter.Serialize(file, Singletone);
}
和反序列化

 public static void Load()
        {
            try
            {


                Parameters parameters;
                using (var file = File.OpenRead(Singletone.FileName))
                    parameters = (Parameters)formatter.Deserialize(file);

                Singletone.Text1 = parameters.Text1;
                Singletone.Text2 = parameters.Text2;

            }
            catch (Exception)
            {


                Singletone.Text1 = "first";

                Singletone.Text2 = "second";

            }
        }

将文件夹添加到文件中可以通过以下方式简单地完成:


我应该把代码放在哪里?请解释。
newPath
在创建文件时替换
Singletone.FileName
。我必须在应用程序根目录中自己创建“ParametersFolder”吗?如果该文件夹尚不存在,您需要这样做。请参阅:在反序列化时,它将通过哪种方式找到从何处读取这些内容?
 public static void Load()
        {
            try
            {


                Parameters parameters;
                using (var file = File.OpenRead(Singletone.FileName))
                    parameters = (Parameters)formatter.Deserialize(file);

                Singletone.Text1 = parameters.Text1;
                Singletone.Text2 = parameters.Text2;

            }
            catch (Exception)
            {


                Singletone.Text1 = "first";

                Singletone.Text2 = "second";

            }
        }
string oldPath = Singletone.FileName;
string folderToAdd = "ParametersFolder";

string newPath = Path.Combine(Path.GetDirectoryName(oldPath),
                              folderToAdd,
                              Path.GetFileName(oldPath));