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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Visual Studio erstellt richtige *.resx-Dateien. Das problem ist, die tools, die Sie versuchen zu verwenden, die erstellt wurden, für die Vorherige version der Spezifikation. Das ist, warum Ihr Problemumgehung funktioniert.
Bitte prüfen Sie, ob es keine neuere Versionen oder patches für Lokalisierungs-tools, die Sie verwenden.
WinRes.exe 4.0 wird mit installiert .NET Framework SDK kann heruntergeladen werden von download.microsoft.com/download/A/6/A/...
InformationsquelleAutor Paweł Dyda
Manchmal in bestimmten Fällen der windows forms-designer stürzt ab, während der Validierung der form mit dem *.resx-Dateien.
Steuert, wo eine DataSource angehängt war betroffen von diesem Verhalten. In meinem Fall habe ich einige Datensätze als Datenquelle für Grids, Combos...
So, ich habe das geöffnete Designer und es nicht sage mir, es kann nicht geöffnet werden, da ein problem mit einem Steuerelement mit der Bezeichnung: blabla
nach Prüfung der designer-Datei fand ich heraus, nichts ist falsch mit der Kontrolle, es ist nur die *.resx-Datei verweist auf eine falsche Quelle, da ich umgestaltet das DataSet. So *.resx ist nicht aktualisiert, durch diese Umgestaltung.
Öffnete ich die *.resx-Datei, und einfach gesucht, der für den Bezeichner des Steuerelements und gefunden, die eine Base64-codierten code. Löschen Sie den Wert innerhalb des Blocks löschen, ohne die surround-tags beheben das problem für dieses Steuerelement wie windows forms-designer wird automatisch aktualisiert und readd die fehlenden Inhalte der *.resx-Datei.
InformationsquelleAutor Code.IT
In der .resx, suchen Sie die erste Zeile der base64-kodierte string. Am Ende sollte "j00LjAuMC4w" (gemeint sind .net 4.0). Versuchen Sie, dass zu "j0yLjAuMC4w" (gemeint sind .net 2.0). Arbeitete für mich. Dank Luis Mack bei http://connect.microsoft.com/VisualStudio/feedback/details/532584/error-when-compiling-resx-file-seems-related-to-beta2-bug-5252020#
InformationsquelleAutor servermanfail
Dieser Fehler wird angezeigt, wenn der compiler verloren, den Bezug auf einen Gegenstand oder, wenn Sie Sie geändert haben, eine wichtige Eigenschaft dieses Objekts, zum Beispiel wenn Sie ein Raster auf dem Formular werden alle setup (das bedeutet, dass Sie mit einem DataSet als Datenquelle zu erfüllen Ihrer-grid), und ändern Sie den Namen Ihres DataSet VS verloren diesen link, er bringt Sie diese Nachricht.
InformationsquelleAutor Caio Pimentel
ich gerade gelöscht thease Zeilen in meine .RESX-Datei
InformationsquelleAutor Sha sha