Visual Studio erstellt ungültige Resx-Dateien

Ich habe eine ziemlich einfache form, die ich wollte zu lokalisieren (ich habe eigentlich Recht wenige in diesem Projekt, Sie haben alle das gleiche problem). Wenn ich die Formular-Eigenschaft Localizable true Visual Studio erzeugt ein .resx Datei mit der form name (wie man es erwarten würde). Das problem ist aber, dass es hinzufügen, alle möglichen Dinge um die .resx-Datei, die nichts anderes öffnen kann (zB WinRes, ResEx, Simple Resx Editor RESX Editor etc).

Den Fehler den ich bekomme, ist:

ResX-Datei-Typ-System.Zeichnung.Punkt, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a die Daten in Zeile 125, position 4 kann nicht gefunden werden.
Linie 127, position 5. nicht analysiert werden kann.

Linie 124 bis 127 ist:

<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblUsername.Location" type="System.Drawing.Point, System.Drawing">
  <value>26, 24</value>
</data>

Nun nehme ich an, dass Visual Studio hinzufügen, so dass ich bewegen kann, buttons etc um abhängig von der Sprache (die ich nicht brauchen oder wollen, diese Fähigkeit). Allerdings wirft es die oben genannten Fehler in jedem editor anderen als Visual Studio.

Nur die Erweiterungen, die ich installiert habe (nach dem Extension Manager):

  • Markieren Sie alle vorkommen des ausgewählten word -
  • Microsoft Ribbon für WPF (die ich nicht in diesem Projekt)

Add-in-manager zeigt keine Add-ins.

Edit:

Nach dem Graben um und manuell Bearbeiten der .resx - Datei, das problem ist tatsächlich mit der Linie 124 <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> speziell mit Version=4.0.0.0.

Wenn ich diese zu Version=2.0.0.0 dann funktioniert alles, sowohl in Visual Studio, und in der alle externen Programme. Das problem dabei ist aber, dass wenn ich alles editieren in Visual Studio wird Sie es zurücksetzen zurück zu Version=4.0.0.0.

Vorerst werde ich legen Sie das zielframework auf .NET Framework 3.5 Client Profile so, dass Visual Studio nicht überschreiben Sie die version. Dies ist eine Problemumgehung und bedeutet, dass ich nicht verwenden kann .NET 4.0-features.

Bin ich Recht vermute, dass es entweder ein bug in der .NET Framework, oder jeder einzelne .resx editor gibt (einschließlich Microsoft).

Edit 2:
Es stellte sich heraus, dass, wenn ich versuche von Microsoft verwenden WinRes.exe tool war ich eigentlich starten .NET Framework 3.5-version, da die .NET Framework 4.0-version nicht installiert bekommen.

Musste ich installieren .NET Framework SDK 4.0 von http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/winsdk_web.exe und ich war dann in der Lage zu Bearbeiten .resx-Dateien mit WinRes.exe 4.0

Hast du 'PublicKeyToken=ENTFERNT" ODER ist das die genaue Fehlermeldung? Auch die Zeichnung ist buchstabiert falsch.
Das ist mir zu schreiben. Ich werde Bearbeiten Sie es und fügen Sie es wieder in. Kein Schaden in einem öffentlichen Schlüssel ist es, denke ich.
McMillan: Nicht von dir sowieso 🙂
McMillan: ich vermute, dass , zwischen 2 zahlen liegt das Problem mit bestimmten Kulturen.
Ich verstehe nicht, warum VS ungültigen code generiert obwohl. Ich will auch gar nicht, die option gibt es, ich will nur die Texte sowieso.

InformationsquelleAutor Blair McMillan | 2010-11-09

Schreibe einen Kommentar