zoukankan      html  css  js  c++  java
  • 关于csc中"/res"参数的奇怪问题

      由于被要求要写一个make.bat来自动编译整个工程,所以研究了一下CSC。
       因为原来整个工程是用VS.Net的IDE环境来开发的,所以有一些.resx文件,就是窗体的资源文件。这些文件平常没起什么作用,当你在某个窗体中 放了图标、图片文件(比如窗体的Icon属性,ImageList控制等等)之后,VS.Net会对图片内容进行BASE64编码,然后存在对应的. resx文件中。然后在CSC时就应该把这些文件也加进去,查资料得知用resgen可以编译这些资源文件,于是用“resgen frmTest.resx”来得到一个“frmTest.resources”。
      现在假设窗体叫frmTest,对应的cs和resx文件是frmTest.cs,frmTest.resx),再用csc /target:winexe /res:frmtest.resources /out:frmTest.exe frmTest.cs 来编译得到可执行文件。结果运行可执行文件出来就是 “System.Resource.MissingMenifestResoueceException”的异常,明显就是对应的资源文件没能读到。上网 找相关的解决方法,没能找到类似的问题。后来看到一篇文章上看到它读取Resource的源代码是这样的:

    System.Resources.ResourceManager resources = new System.Resources.ResourceManager("frmTest",this.GetType().Assembly);

    而VS.Net自动生成的是这样:
    System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmTest));

      于是试着把源代码照改了一下,编译,运行,居然通过了!而再改回去就是不对。具体也没看ResourceManager的两个不同构造函数,就先不求甚解一次吧,呵呵。希望有类似问题的朋友能得到启示。

  • 相关阅读:
    ssh
    ssh免密码登陆
    滑雪[dp]
    Help Jimmy[dp]
    动态规划 [子序列问题]
    最佳加法表达式 [dp]
    求排列的逆序数[归并排序]
    输出前m大个数,时间复杂度O(n+mlog(m)) [快排]
    不会递归?五道例题教你如何递归
    函数模板的琐碎笔记
  • 原文地址:https://www.cnblogs.com/wonderow/p/63831.html
Copyright © 2011-2022 走看看