Warum erhalte ich einen Serialisierungsfehler?

Ich habe den folgenden Code:

class Program
{
    static void Main(string[] args)
    {
        string xml = @"<ArrayOfUserSetting>
                            <UserSetting>
                                <Value>Proposals</Value>
                                <Name>LastGroup</Name>
                            </UserSetting>
                            <UserSetting>
                                <Value>Visible</Value>
                                <Name>WidgetsVisibility</Name>
                            </UserSetting>
                        </ArrayOfUserSetting>";

        List<UserSetting> settings = 
                 GetObjFromXmlDocument<List<UserSetting>>(xml);
    }

    public static T GetObjFromXmlDocument<T>(string xml)
    {
        T customType;

        XmlSerializer serializer = new XmlSerializer(typeof(T));

        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.LoadXml(xml);
        using (XmlNodeReader xmlNodeReader = new XmlNodeReader(xmlDocument))
        {
            customType = (T)serializer.Deserialize(xmlNodeReader);
        }

        return customType;
    }
}

[Serializable]
public class UserSetting
{
    public string Value { get; set; }
    public string Name { get; set; }
}

Der Code funktioniert einwandfrei und der Aufruf von GetObjFromXmlDocument ergibt eine List-Auflistung. Allerdings bekomme ich immer eine erste Chance Ausnahme vom TypSystem.IO.FileNotFoundException in mscorlib.dll, wennXmlSerializer serializer = new XmlSerializer(typeof(T)); wird ausgeführt.

So ging ich in Debug / Exception und aktivierte Managed Debugging Assistenten. In dieser Zeile steht:

Die Assembly mit dem Anzeigenamen 'mscorlib.XmlSerializers' konnte im Bindungskontext 'LoadFrom' der AppDomain mit der ID 1 nicht geladen werden. Die Fehlerursache war: System.IO.FileNotFoundException: Datei oder Assembly 'mscorlib' konnte nicht geladen werden. XmlSerializers, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 'oder eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden. Dateiname: 'mscorlib.XmlSerializers, Version = 2.0.0.0, Kultur = neutral, PublicKeyToken = b77a5c561934e089'

Kann jemand erklären, warum das passiert? Gibt es etwas, das ich mit dem @ machen könntUserSetting Klasse, um das Problem verschwinden zu lassen? Die Anwendung ist sehr leistungsempfindlich und ich hätte lieber keine Ausnahme.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage