用NAnt编译带有资源文件(*.resx,*.bmp,*.gif等)的C#项目

情况一:如何编译支持多语言切换的项目

<!--
    转换资源文件的格式(编译资源文件的必要步骤)
    -->
    <resgen input="ResourceText.resx" output="${nant.project.name}.ResourceText.resources" todir="${build.dir}\bin" />
    <resgen input="ResourceText.zh-CHS.resx" output="${nant.project.name}.ResourceText.zh-CHS.resources" todir="${build.dir}\bin\zh-CHS" />
    <resgen input="ResourceText.en-US.resx" output="${nant.project.name}.ResourceText.en-US.resources" todir="${build.dir}\bin\en-US" />
    <!--
    编译字符串资源文件(简体中文)
    -->
    <al output="${build.dir}\bin\zh-CHS\${nant.project.name}.resources.dll" target="lib" culture="zh-CHS">
      <sources basedir="${build.dir}\bin\zh-CHS">
        <includes name="${nant.project.name}.ResourceText.zh-CHS.resources" />
      </sources>
    </al>
    <!--
    编译字符串资源文件(美国英语)
    -->
    <al output="${build.dir}\bin\en-US\${nant.project.name}.resources.dll" target="lib" culture="en-US">
      <sources basedir="${build.dir}\bin\en-US">
        <includes name="${nant.project.name}.ResourceText.en-US.resources" />
      </sources>
    </al>
    <!--
    编译${nant.project.name}主项目
    -->
    <csc
    warnaserror="true"
    debug="${build.debug}"
    doc="${build.dir}\bin\${nant.project.name}.xml"
    output="${build.dir}\bin\${nant.project.name}.exe"
    target="winexe" win32icon="App.ico">
    <sources failonempty="true">
      <includes name="**\*.cs" />
      <includes name="..\CommonAssemblyInfo.cs" />
    </sources>
    <resources basedir="${build.dir}\bin">
      <includes name="${nant.project.name}.ResourceText.resources" />
    </resources>
    </csc>

情况二:如何编译带有图片资源的项目

当资源文件名的命名方式刚好与那些VS.NET自动生成的资源文件名相同时,你不需要使用(也不应该使用) <resgen>标签。

你应该使用<resources>标签,由编译任务在编译时执行对资源文件的编译。

下面是一个范例:

<target name="build">
    <echo message="编译${nant.project.name}项目" />
    <csc
    warnaserror="true"
    debug="${build.debug}"
    doc="${build.dir}\bin\${nant.project.name}.xml"
    output="${build.dir}\bin\${nant.project.name}.dll"
    target="library">
    <sources failonempty="true">
      <includes name="**\*.cs" />
      <includes name="..\CommonAssemblyInfo.cs" />
    </sources>
    <resources basedir="." prefix="${nant.project.name}" dynamicprefix="true">
      <includes name="Arrows\*.gif" />
      <includes name="CheckBoxes\*.bmp" />
      <includes name="RadioButtons\*.gif" />
    </resources>
    </csc>
  </target>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 编译
, 标签
, 项目
, 文件名
, 资源
, NAnt
, 编译项目
resx
resx 编译为resource、创建对象带有编译警告、nant汽车站、nant事业单位、nantrenshikaoshiwang,以便于您获取更多的相关知识。

时间: 2024-12-30 21:28:27

用NAnt编译带有资源文件(*.resx,*.bmp,*.gif等)的C#项目的相关文章

.NET 资源文件resx、Resources详细说明_实用技巧

资源文件简介 (1)resx文件: 基于文本的格式是特定于.NET 框架的 XML 格式,称为 ResX(.resx 文件).不考虑其 XML 基础,该格式不是专门为人工阅读而设计的(XML 格式很少是这样的).但是,Visual Studio .NET 仍然为 .resx 文件提供了一个基本编辑器. (2)Resources文件: .resources 扩展名来自于在将 .resx 文件作为资源嵌入之前 Visual Studio .NET 处理该文件时所使用的工具.工具名称是 resgen.

恢复Reflector反编译后资源文件的办法

反编译问题: 1.路径问题:如果遇到了Path.Combine,有错误改下即可 2.资源文件问题: 在Reflector下,对左边的资源管理窗口的Resources文件夹下的资源文件,进行右键点击,选中"Save as" 选项保存即可. 例:对于项目文件夹里面的TryAssemb.Form1.resx,首先改为Form1.resx然后移动到TryAssemb目录里面 3.对窗体打开"视图设计器",发现会出现下面的错误: 修改方法就是对所有System.Windows

android apk代码和xml资源文件反编译

一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码.以下是下载地址: dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://laichao.googlecode.com/files/jdgui.zip 具体步骤: 首先将apk文件

VB编程的好帮手--资源文件

各位VB高手,你一定也常常因苦于无法组织自己程序中大量的picture,而头痛不已,那就让小生为各位介绍一下VB编程的好帮手--资源文件. 所谓资源文件,就是指将在程序运行时用到的资源集中在一起的一个文件.一个资源文件可以包括文字(TEXT).位图(BITMAP).图标(ICON)等.并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能.现在我就以一个小程序为例讲述资源文件的一些使用方法. 这个工程运行后,当点击[未来]按钮时中间图像将依次变换为夏.秋.冬.春--点击[从前

在.NET中读取嵌入和使用资源文件的方法_C#教程

Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream.另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由ResourceManager类统一管理其中的资源. 下面分别详述这两种方法 一.使用GetManifestResourceStream读取嵌入资源 1.加入资源文件 直接把要嵌入到程序集的资源文件加入到项目中,可以加在项

在.net中创建并使用资源文件(1)

在.net中,可以创建资源文件(.resx)供程序使用,可以在资源文件中加入图片.字符串等自定义资源.以便在程序中使用这些文件.下边就我们就创建一个名为Skins.resx的资源文件,在里面装载一些程序UI需要的资源,以便绘制程序界面. 首先我们新建一个Windows程序(Windows Application),在Form1_Load中加入以下代码: ResXResourceWriter rw = new ResXResourceWriter("Skins.resx"); //ski

关于C#做多语言化,使用资源文件的问题(比较急)

问题描述 接到一急活,软件的英文化工作,这周末之前必须要测试完成的,我查了网上的资料,如果是窗体中的内容,比如说窗体的控件名之类的,可以利用窗体自带的资源文件.resx中,大致操作步骤:1.选中一个Form窗体,在属性编辑器中设置Localizable属性为true(默认为false)2.设置Language属性为default,这样就可以编辑默认情况下的文化设置3.然后在Form中添加你需要的基本控件,如按钮.菜单.标签等注意,一旦Form发生变化,VS.net就会自动生成<Form名称>.

ios-xcode找不到plist资源文件,总是返回nil

问题描述 xcode找不到plist资源文件,总是返回nil 开发ios项目,pathForResource怎么都返回nil,我检查了supporting files文件没问题,copy bundle resource配置也没问题,检查了本地文件目录,确实没有,不过我不管是直接新建plist还是copy进来,本地目录它就是不添加,怎么回事啊? 解决方案 一般 copy bundle resource 中存在的,肯定会被添加到 main bundle 中,你这里要用排除法来确定原因了 1. cle

区域-C# 资源文件Resource .resx文件多语言无法编译。

问题描述 C# 资源文件Resource .resx文件多语言无法编译. 如图,只有默认资源ISOResour.resx能够附加进DLL中,而zh-CN,zh-TW,都无法编译进DLL resx的路径应该是正确的,因为默认的资源文件是能够读取的,只是加了CultureInfo进去了过后 就会报错, 未能找到任何适合于指定的区域性或非特定区域性的资源.------ 解决方案 这个资源有专门的文件路径存放的.如图,右键项目