Investigamos en el mundo on line para así traerte la solución a tu problema, en caso de alguna difcultad deja la pregunta y responderemos con mucho gusto.
Solución:
File.WriteAllText requiere dos parámetros:
El primero es el FileName y el segundo es el contenido a escribir.
File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + @"" + fileName,
saveScene.ToString());
Sin embargo, tenga en cuenta que escribir en la carpeta actual podría ser problemático si el usuario que ejecuta su aplicación no tiene permiso para acceder a la carpeta. (Y en el sistema operativo más reciente, la escritura en los archivos de programa es muy limitada). Si es posible, cambie esta ubicación a las definidas en Environment.SpecialFolder enum
También deseo sugerir el uso de la clase System.IO.Path cuando necesite construir rutas y no un string concatenación donde se usa el mismo ‘Específico del sistema operativo’ constante ""
para separar caminos.
En tu ejemplo escribiría
string destPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,fileName);
File.WriteAllText(destPath, saveScene.ToString());
no hay necesidad de extra + @""
solo haz:
AppDomain.CurrentDomain.BaseDirectory + fileName
y reemplazar los parámetros
saveScene.ToString()
y
AppDomain.CurrentDomain.BaseDirectory + fileName
su código debe ser:
private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
try
string fileName = Microsoft.VisualBasic.Interaction.InputBox("Please enter a save file name.", "Save Game");
if (fileName.Equals(""))
MessageBox.Show("Please enter a valid save file name.");
else
fileName = String.Concat(fileName, ".gls");
MessageBox.Show("Saving to " + fileName);
System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + fileName, saveScene.ToString());
catch (Exception f)
System.Diagnostics.Debug.Write(f);
puedes seguir leyendo File.WriteAllText
aquí:
Parámetros
path Type: System.String The file to write to. contents Type: System.String The string to write to the file.