Ich programmiere eine Fensterformularanwendung und habe es geschafft, alle Fehler aus der Formularcodierung zu entfernen. Allerdings, wenn ich die Anwendung zu starten versuchen, erhalte ich die Ausnahme:Initialisierungsfehler bezüglich eines Windows-Formulars
Ausnahme geworfen: ‚System.TypeInitializationException‘ in Mod Hinweis 2.0.exe
Zusätzliche Informationen: Die Typeninitialisierer für ‚Mod_Note_2._0.Form1 Ich habe eine Ausnahme gemacht.
Der Code liest die Form wie folgt:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Mod_Note_2._0
{
public partial class Form1 : Form
{
//Defines variables
public static string moduleTitle;
public static string[] codRetr = Directory.GetFiles("" , "*code.txt");
public static string[] notes;
public static int i = 0;
public static List<string> codDrop;
public string[] codDropT;
public Form1()
{
InitializeComponent();
}
private void programmingAndDataStructureToolStripMenuItem_Click(object sender, EventArgs e)
{
moduleTitle = "CMP1127M";
SetTextBoxes item = new SetTextBoxes();
item.moduleTitle1 = moduleTitle;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
private void ModuleSummary_TextChanged(object sender, EventArgs e)
{
SetTextBoxes.modSynopsis = ModuleSummary.Text;
File.WriteAllText(SetTextBoxes.modSynLocation, SetTextBoxes.modSynopsis);
}
private void AssignBox_TextChanged(object sender, EventArgs e)
{
SetTextBoxes.modAssign = AssignBox.Text;
File.WriteAllText(SetTextBoxes.modAssignLoc, SetTextBoxes.modAssign);
}
private void AddNewModule_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
//Manages deleting of modules
private void deleteCurrentModuleToolStripMenuItem_Click(object sender, EventArgs e)
{
File.Delete(SetTextBoxes.modNoLocation);
File.Delete(SetTextBoxes.modTitleLocation);
File.Delete(SetTextBoxes.modSynLocation);
File.Delete(SetTextBoxes.modLOsLocation);
File.Delete(SetTextBoxes.modAssignLoc);
}
private void modulesToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
//Puts the information into text boxes
private class SetTextBoxes
{
public string moduleTitle1;
public static string modNoLocation;
public static string modNo;
public static string modTitle;
public static string modTitleLocation;
public static string modSynopsis;
public static string modSynLocation;
public static string modLOs;
public static string modLOsLocation;
public static string modAssign;
public static string modAssignLoc;
public static string notesLoc;
public SetTextBoxes()
{
Form1 frm = new Form1();
notesLoc = moduleTitle + "N";
modNoLocation = moduleTitle1 + "code.txt";
modNo = File.ReadAllText(modNoLocation);
frm.ModuleCode.Text = modNo;
modTitleLocation = moduleTitle + "title.txt";
modTitle = File.ReadAllText(modTitleLocation);
frm.Title.Text = modTitle;
modSynLocation = moduleTitle + "synopsis.txt";
modSynopsis = File.ReadAllText(modSynLocation);
frm.ModuleSummary.Text = modSynopsis;
modLOsLocation = moduleTitle + "LOs.txt";
modLOs = File.ReadAllText(modLOsLocation);
frm.LOsTextbox.Text = modLOs;
modAssignLoc = moduleTitle + "assignments.txt";
modAssign = File.ReadAllText(modAssignLoc);
frm.AssignBox.Text = modAssign;
//Resets the Notes array
Array.Clear(notes, 0, 1000000);
//Retrieves and sets the notes
notes = Directory.GetFiles("", notesLoc);
}
}
private void modulesToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void modulesToolStripMenuItem_DropDownOpened_1(object sender, EventArgs e)
{
}
private void modulesToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
{
Array.Clear(codRetr, 0, 1000000);
i = 0;
foreach (string s in codRetr)
{
codDrop.Add(s);
}
codDropT = codDrop.ToArray();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 form3 = new Form3();
form3.Show();
}
}
}
Edit: Hier ist, wo die Ausnahme
Die
Ausnahmecode trittSystem.TypeInitializationException was unhandled
HResult=-2146233036
Message=The type initializer for 'Mod_Note_2._0.Form1' threw an exception.
Source=Mod Note 2.0
TypeName=Mod_Note_2._0.Form1
StackTrace:
at Mod_Note_2._0.Form1..ctor()
at Mod_Note_2._0.Program.Main() in
C:\Users\Samuel\Documents\Computer_Science\PaDS\Mod Note 2.0\Mod Note
2.0\Program.cs:line 19
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
HResult=-2147024809
Message=The path is not of a legal form.
Source=mscorlib
StackTrace:
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path, String searchPattern)
at Mod_Note_2._0.Form1..cctor() in C:\Users\Samuel\Documents\Computer_Science\PaDS\Mod Note 2.0\Mod Note 2.0\Form1.cs:line 19
InnerException:
Klicken Sie auf "View Detail ..." Link, im nächsten Fenster erweitern Sie die Ausnahme und gehen Sie zu "Inner Exception", bis Sie eine andere Nachricht lesen als "Typ Initialisierung ... etc –
Es heißt {" Der Pfad ist nicht von einer Rechtsform. "} – GiggyLapisar
Überprüfen Sie die Lösung –