Hallo!
Ich habe eine ganz merkwürdige Erscheinung.
Ein Code der bisher einwandfrei lief, zeigt mir nun runtime Probleme.
Ich habe foldende struktur definiert:
public struct hash_file_list_tag
{
public string file_name;
public int hash_code;
public hash_file_list_tag(string file_name, int hash_code)
{
this.file_name = file_name;
this.hash_code = hash_code;
}
}
mein Code greif dann folgendermaßen darauf zu;
public void test()
{
hash_file_list_tag[] mylist = new Cc_InterfaceClass.hash_file_list_tag[5];
mylist[0].file_name = "test1";
mylist[0].hash_code = 1245;
mylist[1].file_name = "test2";
mylist[1].hash_code = 124;
mylist[2].file_name = "test3";
mylist[2].hash_code = 12;
mylist[3].file_name = "test4";
mylist[3].hash_code = 1;
mylist[4].file_name = "test5";
mylist[4].hash_code = 0132;
StoreHashList(mylist, "v:\\test.xml");
hash_file_list_tag[] mylist2 = new Cc_InterfaceClass.hash_file_list_tag[5];
mylist2 = LoadHashList("v:\\test.xml");
for (int i = 0; i < 5; i++)
Console.WriteLine("{0}, {1}", mylist2[i].file_name, mylist2[i].hash_code);
}
public void StoreHashList(hash_file_list_tag[] ar, string pfad)
{
XmlSerializer xmlSer = new XmlSerializer(typeof(hash_file_list_tag[]));
FileStream stream = new FileStream(pfad, FileMode.Create);
xmlSer.Serialize(stream, ar);
stream.Close();
}
public hash_file_list_tag[] LoadHashList(string pfad)
{
XmlSerializer xmlSer = new XmlSerializer(typeof(hash_file_list_tag[]));
FileStream stream = new FileStream(pfad, FileMode.Open);
hash_file_list_tag[] ar = (hash_file_list_tag[])xmlSer.Deserialize(stream);
stream.Close();
return ar;
}
}
Die Fehlermeldung lautet
Unhandled Exception: System.InvalidOperationException: Unable to generate a temporary class (result=1).
error CS1514: { expected
error CS1001: Identifier expected
error CS1031: Type expected
error CS1519: Invalid token '{' in class, struct, or interface member declaration
error CS1514: { expected
error CS1001: Identifier expected
error CS1031: Type expected
error CS1519: Invalid token '{' in class, struct, or interface member declaration
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, CompilerParameters parameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, Compile
able assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at Serializer.Access_Array.StoreHashList(hash_file_list_tag[] ar, String pfad) in d:\Christof\SharpDevelop Projects\PVCS_Build\Serializer.cs:line 50
at Compiler.Compilation.Start() in d:\Christof\SharpDevelop Projects\PVCS_Build\Compiler.cs:line 146
Dies ist aus meinem Code herauskopiert, die Meldung bezieht sich auf die Zeile
XmlSerializer xmlSer = new XmlSerializer(typeof(hash_file_list_tag[]));
von oben,
Das komische ist, dass plötzlich auch eine alte Version meines Programmes, die immer lief, auch dieses Problem hat.
Ich kann das nicht nachvollziehen. Kann sich etwas im .net Framework aufhängen oder so?
Vielen Dank
Christof
Das Problem kann auf den Hotfix KB 886904 zurückgeführt werden. Leider wird der bei uns durch den Server automatisch installiert.
Jetzt stehe ich da.....
Christof