2011-01-12 17 views
17

Vì vậy, tôi có ứng dụng C#. Nó có một số tài sản được liên kết vào nó và được beeng nhúng trong thời gian biên dịch. Ứng dụng biên dịch và chạy hoàn hảo trên các cửa sổ. khi thử nghiệm cho tính tương thích với mono nói rằng tất cả là chính xác. Nếu tôi cố gắng biên dịch cho một lỗi tập tin n xmlVấn đề Mono resources.resx khi chuyển (lỗi lạ trong tệp xx resx trên '</data>')

/home/rupert/Desktop/CloudObserverLite(4)/CloudObserverLite/Properties/Resources.resx: Error: Error: Invalid ResX input. 
Position: Line 123, Column 5. 
Inner exception: value 
(CloudObserverLite) 

Và nếu chúng ta sẽ xem xét resx xml

...<resheader name="writer"> 

    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </resheader> 

    <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 

    <data name="framework_4_5_0_17689_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>../assets/framework_4.5.0.17689.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="index_html" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>../assets/index.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1251</value> 

    </data>... 

dòng 123 sẽ </data> thẻ đầu tiên.

Dưới đây là tất cả các file resx nếu nó có thể cung cấp bất kỳ thông tin hơn

<?xml version="1.0" encoding="utf-8"?> 

<root> 

    <!-- 

    Microsoft ResX Schema 



    Version 2.0 



    The primary goals of this format is to allow a simple XML format 

    that is mostly human readable. The generation and parsing of the 

    various data types are done through the TypeConverter classes 

    associated with the data types. 



    Example: 



    ... ado.net/XML headers & schema ... 

    <resheader name="resmimetype">text/microsoft-resx</resheader> 

    <resheader name="version">2.0</resheader> 

    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> 

    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> 

    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> 

    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> 

    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> 

     <value>[base64 mime encoded serialized .NET Framework object]</value> 

    </data> 

    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> 

     <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> 

     <comment>This is a comment</comment> 

    </data> 



    There are any number of "resheader" rows that contain simple 

    name/value pairs. 



    Each data row contains a name, and value. The row also contains a 

    type or mimetype. Type corresponds to a .NET class that support 

    text/value conversion through the TypeConverter architecture. 

    Classes that don't support this are serialized and stored with the 

    mimetype set. 



    The mimetype is used for serialized objects, and tells the 

    ResXResourceReader how to depersist the object. This is currently not 

    extensible. For a given mimetype the value must be set accordingly: 



    Note - application/x-microsoft.net.object.binary.base64 is the format 

    that the ResXResourceWriter will generate, however the reader can 

    read any of the formats listed below. 



    mimetype: application/x-microsoft.net.object.binary.base64 

    value : The object must be serialized with 

      : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 

      : and then encoded with base64 encoding. 



    mimetype: application/x-microsoft.net.object.soap.base64 

    value : The object must be serialized with 

      : System.Runtime.Serialization.Formatters.Soap.SoapFormatter 

      : and then encoded with base64 encoding. 



    mimetype: application/x-microsoft.net.object.bytearray.base64 

    value : The object must be serialized into a byte array 

      : using a System.ComponentModel.TypeConverter 

      : and then encoded with base64 encoding. 

    --> 

    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 

    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> 

    <xsd:element name="root" msdata:IsDataSet="true"> 

     <xsd:complexType> 

     <xsd:choice maxOccurs="unbounded"> 

      <xsd:element name="metadata"> 

      <xsd:complexType> 

       <xsd:sequence> 

       <xsd:element name="value" type="xsd:string" minOccurs="0" /> 

       </xsd:sequence> 

       <xsd:attribute name="name" use="required" type="xsd:string" /> 

       <xsd:attribute name="type" type="xsd:string" /> 

       <xsd:attribute name="mimetype" type="xsd:string" /> 

       <xsd:attribute ref="xml:space" /> 

      </xsd:complexType> 

      </xsd:element> 

      <xsd:element name="assembly"> 

      <xsd:complexType> 

       <xsd:attribute name="alias" type="xsd:string" /> 

       <xsd:attribute name="name" type="xsd:string" /> 

      </xsd:complexType> 

      </xsd:element> 

      <xsd:element name="data"> 

      <xsd:complexType> 

       <xsd:sequence> 

       <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 

       <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> 

       </xsd:sequence> 

       <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> 

       <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> 

       <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> 

       <xsd:attribute ref="xml:space" /> 

      </xsd:complexType> 

      </xsd:element> 

      <xsd:element name="resheader"> 

      <xsd:complexType> 

       <xsd:sequence> 

       <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 

       </xsd:sequence> 

       <xsd:attribute name="name" type="xsd:string" use="required" /> 

      </xsd:complexType> 

      </xsd:element> 

     </xsd:choice> 

     </xsd:complexType> 

    </xsd:element> 

    </xsd:schema> 

    <resheader name="resmimetype"> 

    <value>text/microsoft-resx</value> 

    </resheader> 

    <resheader name="version"> 

    <value>2.0</value> 

    </resheader> 

    <resheader name="reader"> 

    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </resheader> 

    <resheader name="writer"> 

    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </resheader> 

    <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 

    <data name="framework_4_5_0_17689_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>../assets/framework_4.5.0.17689.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="index_html" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>../assets/index.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1251</value> 

    </data> 

    <data name="osmf_1_0_0_16316_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\osmf_1.0.0.16316.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="playerProductInstall_swf" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\playerproductinstall.swf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="player_html" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\player.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1251</value> 

    </data> 

    <data name="rpc_4_5_0_17689_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\rpc_4.5.0.17689.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="sparkskins_4_5_0_17689_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\sparkskins_4.5.0.17689.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="spark_4_5_0_17689_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\spark_4.5.0.17689.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="swfobject_js" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\swfobject.js;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="textLayout_2_0_0_139_swz" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\textlayout_2.0.0.139.swz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="AC_OETags_js" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\ac_oetags.js;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="history_historyFrame_html" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\history_historyframe.html;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="history_history_css" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\history_history.css;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="history_history_js" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\history_history.js;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

    <data name="player_swf" type="System.Resources.ResXFileRef, System.Windows.Forms"> 

    <value>..\assets\player.swf;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

    </data> 

</root> 

Nếu chúng ta nhìn vào cấu trúc dự án chúng ta sẽ thấy: alt text

Xin lỗi Tôi mới vào mono - plase giúp đỡ .

+0

Bạn có thực sự có nhận xét trong nút đó không? Hay đó chỉ là điều bạn đang thử nghiệm? framework_4.5.0.17689.swz; System.Byte [], .... – jpobst

+0

xin lỗi - đó là thử nghiệm - với nó hoặc với nó không hoạt động = (cùng – Rella

+1

Tôi đã gặp vấn đề chính xác khi biên dịch GitExtensions trên Linux/mono –

Trả lời

1

Chuyển đến Chỉnh sửa -> Tùy chọn -> Dự án -> Xây dựng và chọn tùy chọn "Biên dịch dự án bằng MSBuild/XBuild".

+0

không giúp đỡ trong trường hợp của tôi – user1709408

0

Nó cũng có thể nhúng các nguồn lực bằng tay với DMCs:

dmcs -r:<libraries go here> -resource:<resource1> -resource:<resource2> -resource:<etc> *.cs -OUT:Program.exe 

Nó khá cồng kềnh, tôi thường viết ra chuỗi biên soạn dài trong một trình soạn thảo văn bản (gọi nó là compilestring.txt nói ..), và họ làm điều gì đó như:

comp=$(echo | cat compilestring.txt) 

và sau đó chỉ cần nhập $ comp để biên dịch dự án của tôi.

Hy vọng điều này sẽ hữu ích! (Đây là những gì tôi đã phải sử dụng, sau khi gặp vấn đề tương tự với các tệp .resx trong linux và mono)

-1

tôi gặp sự cố này, nhưng sau khi mở tệp, hãy tạo một chút thay đổi (như thêm dòng trống mới) hoặc không gian trống) và lưu các vấn đề được giải quyết. nó là với tập tin unicode. mono có vấn đề này với các giải pháp đã tạo ra bởi cửa sổ.

0

Sự cố của tôi đã được giải quyết bằng cách thay thế tất cả \ bằng/trong tất cả các đường dẫn.

Các vấn đề liên quan