【乔梁】用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# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

C#如何去掉文件夹或文件名非法字符

《C#如何去掉文件夹或文件名非法字符》:本文主要介绍C#如何去掉文件夹或文件名非法字符的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#去掉文件夹或文件名非法字符net类库提供了非法字符的数组这里还有个小窍门总结C#去掉文件夹或文件名非法字符实现有输入字