CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

【100分】请问reflector 反编译出来的资源文件如何与form绑定起来

楼主chuyf(楚云飞)2006-03-04 14:49:31 在 .NET技术 / C# 提问

当我用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

相关问题

  • 头文件编译出错?
  • Java文件无法编译
  • .DCU文件的反编译
  • 如何编译*.exe文件?
  • 编译java文件报错
  • uClinux编译后的文件?
  • Make 文件编译问题!
  • 如何编译perl文件
  • 有关多文件编译??
  • jb2005编译成war文件

关键词

  • .net
  • .net framework
  • 文件
  • 编译
  • rescource
  • frmmain
  • mainmodule
  • 资源
  • 反编译
  • 格式

得分解答快速导航

  • 帖主:chuyf
  • misvcom

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo