【100分】请问reflector 反编译出来的资源文件如何与form绑定起来
当我用reflector 反编译了一个form的窗体之后,
得到了frmMain.cs 及Project.MainModule.frmMain.rescource两个文件
我将其加入了自己建立的新工程中,
但当我每次双击frmMain.cs文件中,总是无法在设计模式下编辑窗体
应该是资源文件没有配置好,请高手指点:
错误为:
该文件的语言不支持必需的代码分析和生成服务。请确保您正在打开的文件是项目的成员,然后尝试再次打开该文件。
问题点数:100、回复次数:9Top
1 楼chuyf(楚云飞)回复于 2006-03-04 15:10:53 得分 0
试过把Project.MainModule.frmMain.rescource 改名成frmMain.resx
结果未遂Top
2 楼chuyf(楚云飞)回复于 2006-03-04 15:11:38 得分 0
把Project.MainModule.frmMain.rescource打开看看,看起来象是二进制编码的文件
resx是xml格式的吧Top
3 楼misvcom(零下一度)回复于 2006-03-04 15:11:57 得分 100
没法,编译后的资源文件已经和原格式不同了
你再反编译过来的话也不能确定与原内容100%相同
<!--
Microsoft ResX Schema
Version 1.3
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">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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>
Top
4 楼chuyf(楚云飞)回复于 2006-03-04 15:14:33 得分 0
如果这个form很简单,还是可能反编译之后差不多吧
我看到的recource 格式是左边为16进制,右边显示:
问锞?System.Resources.ResourceReader, mscorlibsSystem.Resources.RuntimeResourceSet, mscorlib, Version=1Top
5 楼misvcom(零下一度)回复于 2006-03-04 15:15:03 得分 0
声明必须对得上号才行Top
6 楼misvcom(零下一度)回复于 2006-03-04 15:17:31 得分 0
rescource是“受控资源文件”,平台无关的(XML格式)的资源文件,是VB/C#使用的资源文件格式。可以存放位图、子串和自定义数据等资源。
Top
7 楼chuyf(楚云飞)回复于 2006-03-04 15:22:15 得分 0
请问声明要对上号,必须在何处修改呢?Top
8 楼chuyf(楚云飞)回复于 2006-03-04 15:23:30 得分 0
比如原来的命名空间为Project.MainModule.frmMain
现在的空间是MyTest.frmMainTop
9 楼chuyf(楚云飞)回复于 2006-03-04 20:53:09 得分 0
要命名成怎样的名字呢?Top




