Beim Erstellen tritt möglicherweise ein Fehler auf, wenn Sie die Komponente mit einer Eigenschaft vom Typ "System.Text.Encoding" im Formular bereitstellen.
Dieser Artikel hilft Ihnen, ein Problem zu beheben, bei dem der Build fehlschlägt, wenn Sie die Komponente mit einer Eigenschaft vom Typ System.Text.Encoding auf dem Formular bereitstellen.
Ursprüngliche Produktversion: .NET Framework 4.5
Ursprüngliche KB-Nummer: 2956445
Problembeschreibung
In Microsoft Visual Studio Entwicklungsumgebung, in der .NET Framework 4.5 installiert ist, schlägt der Build möglicherweise fehl, wenn Sie die Komponente mit einer Eigenschaft vom Typ System.Text.Encoding auf dem Formular bereitstellen.
Sie kann auftreten, wenn Visual Studio 2010 oder Visual Studio 2012 in der Umgebung ausgeführt wird, in der .NET Framework 4.5 installiert ist.
Er tritt nicht in der Umgebung auf, in der .NET Framework 4.5.1 installiert ist oder wenn Visual Studio 2013 ausgeführt wird.
Ein Beispiel für die Fehlermeldung ist:
Ungültige ResX-Datei. Typ in die Daten in Zeile 138, Position 5, kann nicht geladen werden, da während der Erstellung die folgende Ausnahme ausgelöst wurde: Für die Codierung 932 sind keine Daten verfügbar.
Ursache
Dies liegt daran, dass beim Deserialisieren der Eigenschaft des Typs aus der Ressourcendatei als Objekte im Buildprozess ein Fehler aufgetreten System.Text.Encoding ist.
Wenn dieser Fehler auftritt, schlägt der Build fehl, da das Objekt nicht im Windows Formular-Designer geladen werden konnte.
Status
Microsoft hat bestätigt, dass es sich um einen Fehler handelt. Dieses Problem wurde in .NET Framework 4.5 für Windows 8 und Windows Server 2012 behoben.
Lösung
Wenn Sie Windows 8 und Windows Server 2012 verwenden, wenden Sie sich an den Microsoft-Kundendienst im folgenden Knowledge Base-Artikel, um den Hotfix für Framework 4.5 für Windows 8 und Windows Server 2012 zu erhalten:
Hotfixrollup 2848799 für die .NET Framework 4.5 auf Windows 8 und Windows Server 2012 (2848799) verfügbar ist
Wenn Sie Windows 8 und Windows Server 2012 nicht verwenden, installieren Sie .NET Framework 4.5.1.
.NET Framework 4.5.1 verfügt über Sprachpakete. Installieren Sie das entsprechende Sprachpaket nach Bedarf.
Schritte zum Reproduzieren des Verhaltens
Erstellen Sie eine neue Windows Formularanwendung.
Fügen Sie Ihrem Projekt ein Benutzersteuerelement (
UserControl1) hinzu.Ersetzen Sie den Code in der Benutzersteuerelementklasse durch den folgenden Code:
public UserControl1() { InitializeComponent(); Encoding = Encoding.GetEncoding(932); } public Encoding Encoding { get; set; }Erstellen Sie die Projektmappe.
Doppelklicken Sie in der Toolbox in der Entwurfsansicht des Formulars auf das oben beschriebene Steuerelement, um es auf dem Formular zu platzieren.
Erstellen Sie die Lösung neu.