【乔梁】用Nant和Nunit构建C#项目

2023-11-03 22:31

本文主要是介绍【乔梁】用Nant和Nunit构建C#项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前没使用Nant和Nunit建立过C#代码的自动化构建,今天自己写了一个C#程序,想用Nant和Nunit构建C#代码。可写好build文件后运行UnitTest时遇到了麻烦。命令行提示如下:
Could  not  load file or assembly 'nunit . framework ,  Version = 2.4 . 3.0 ,  Culture = neutral ,  PublicKeyToken = 96d09a1eb7f44a77' or one of its dependencies .  The system cannot  find  the file specified .

查了一下资料解决了这个问题。

解决方法是:

一、在该程序的config文件(如果程序名是money.dll,则该文件名为money.dll.config)中加入如下代码:

xml version="1.0" encoding="utf-8"  ?>
< configuration >
    
< runtime >
        
< assemblyBinding  xmlns ="urn:schemas-microsoft-com:asm.v1" >
            
< dependentAssembly >
                
< assemblyIdentity  name ="nunit.framework"  publicKeyToken ="96d09a1eb7f44a77"  culture ="Neutral"   />
                
< bindingRedirect  oldVersion ="2.0.6.0"  newVersion ="2.4.3.0"   />
                
< bindingRedirect  oldVersion ="2.1.4.0"  newVersion ="2.4.3.0"   />
            
dependentAssembly >
        
assemblyBinding >
    
runtime >     
configuration >


二、使用VS2005提供的gacutil把nant.core.dll 和 nant.framework.dll注册一下。具体做法是:

1、在window开始菜单用运行VS所带的Visual Studio 2005 Command Prompt。

2、切换到nunit的bin目录下

3、顺序运行下列命令
gacutil  / i nunit.core.dll                             // 注册core

gacutil 
/ i nunit.framework.dll                 //注册framework

gacutil 
/ l                                                    //查看是否注册上

三、大功告成。

现在运行 nant unittest 就完事大吉。

附 nant 的 build 文件如下:

xml version="1.0" ?>
< project  name ="CSharpMoney"  default ="ut" >
  
< property  name ="output.dir"  value ="../bin"   />
  
< property  name ="output.dll"  value ="../bin/cs-money.dll"   />
  
< property  name ="reports.dir"  value ="../reports" />
  
< target  name ="clean" >
    
< delete  dir ="${output.dir}" />
    
< delete  dir ="${reports.dir}" />
  
target >
  
< target  name ="copyfile"  depends ="clean" >
    
< mkdir  dir ="${output.dir}"  unless ="${directory::exists(output.dir)}"   />
    
< copy  file ="../nunit/bin/nunit.framework.dll"  todir ="${output.dir}"  
      if
="${file::exists('nunit/bin/nunit.framework.dll')}"   />
  
target >
  
< target  name ="build"  depends ="copyfile" >
    
< csc  target ="library"  output ="${output.dll}"  debug ="true" >
      
< sources >
          
< include  name ="*.cs"   />
      
sources >
      
< references >
        
< include  name ="../nunit/bin/nunit.framework.dll"   />
      
references >
    
csc >     
  
target >
  
< target  name ="ut"  depends ="build" >
    
< mkdir  dir ="${reports.dir}" />
    
< exec  program ="..NUnit unit-console.exe" >
      
< arg  value ="${output.dll}" />
      
< arg  value ="/config=cs-money.dll.config" />
      
< arg  value ="/xml=${reports.dir}TestReport-Unit.xml" />
      
< arg  value ="/nologo" />
      
< arg  value ="/noshadow" />
    
exec >
  
target >
project >

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-364792/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-364792/

这篇关于【乔梁】用Nant和Nunit构建C#项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341308

相关文章

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当