Fit*_*aki 16 .net c# nant visual-studio-2008
我总是编译我的项目,并将dll从依赖项目复制到UI bin文件夹.经过几天的"复制和粘贴"操作,每次我重新编译我的项目时,我总结说我需要一个能自动完成它的工具.经过几次搜索后发现这个工具是nAnt.
我搜索如何开始使用它的信息,但我没有找到太多.所以,我的问题是:
编辑:我不能只添加对依赖项目的引用,因为它将导致循环依赖.
Ton*_*pel 14
NAnt是一个构建.NET项目和解决方案的构建工具(基于原始的Ant for Java).它也是一种基于XML的"脚本"语言,您可以在其中订购"任务"来完成构建工作,包括您正在谈论的事物类型 - 以及更多,更多!
我们使用NAnt作为我们的构建脚本工具(由Cruise Control.NET,也就是CCNET,我们的持续集成工具在每个源代码控制检查中触发)来执行我们的自动构建.它包括以下内容:
另一个解决方案是MSBuild,它实际上是Visual Studio使用的.它非常相似.
请注意:您无法使用NAnt的解决方案任务构建安装和部署项目(您也无法使用MSBuild执行此操作).为了解决这个问题,我们已经开始使用命令行参数运行devenv.com(没有UI的Visual Studio) - 使用NAnt的" exec "任务而不是内置的" 解决方案 "任务 - 来构建整个解决方案,包括安装和部署包.我们过去也使用过WiX和MSBuild ......
最后,对于您概述的具体问题,您应该只考虑以下选项之一:
你真的不能错过在NAnt投资时间,最终CCNET随着项目复杂性的增加而增加.您可以让CCNet监视您的源代码控制以进行签入或每晚运行,并且您可以设置依赖项目,例如,如果您的依赖项目构建,它可以启动您的网站构建和/或运行单元测试看是否有任何损坏.
Kev*_*Won 12
Microsoft(无论好坏)创建了一个项目文件(.csproj,.vbproj等)是脚本的MsBuild系统.这些.proj文件指示MsBuild系统通过XML构建项目.这基本上也是nAnt正在做的事情.所以,通常,MsBuild功能== nAnt功能.
虽然我肯定在MsBuild和nAnt上花了相当多的时间,所以我不能成为真正的专家意见,根据我的经验,如果你使用的是Visual Studio,那么继续使用MsBuild可能是一个更好的选择.用于构建项目,因为它很可能已经与您的开发过程保持一致.因为你几乎肯定已经在使用.proj文件了(例如.csproj,如果你正在做C#),创建另一个构建文件对我来说没有多大意义:只需使用你已经拥有的文件并根据需要自定义它.我不知道nAnt在这一点上提供的任何东西,MsBuild除了事实上它与开源模式更加一致之外没有.
同样,由于我对nAnt的体验有限,我不能说这仍然是真的,但是当我上次使用nAnt时,与MsBuild相比,完成相同的任务要相当冗长,如果仍然如此,这将是我使用MsBuild的另一个原因.
您需要将二进制文件作为构建后任务删除,这是使用MsBuild或nAnt轻松完成的常见任务.出于前面提到的原因,我建议首先看看MsBuild,看看这是如何工作的,然后只有在MsBuild不适合您的账单时才查看nAnt.我之所以这么说,只是因为如上所述,你今天已经浸泡在MsBuild中了(你的计算机上已经安装了MsBuild引擎)所以为什么不走最小阻抗的道路呢?当然,如果MsBuild没有做你想做的和nAnt做的事情,那么一定要采取那条路线.但是在现有的MsBuild(即.csproj)文件中复制文件大约是5行xml.以下是MSDN的一些文档:http://msdn.microsoft.com/en-us/library/3e54c37h.aspx
之前的海报提到使用CruiseControl和nAnt.巡航控制也可以轻松使用MsBuild:
http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/MsBuild%20Task.html
因此,如果您想要自动(持续集成)构建,您可以使用CC.NET.MS Team Foundation Server是CC.NET的替代品,如果你可以节省成本或是一个创业公司(通过MS BizSpark计划你可以免费使用它几年我认为).
我没有任何反对nAnt的东西 - 只是因为你所提到的你想做的事情似乎并不像你需要它.MsBuild可以做到这一点,你不需要安装任何新东西甚至创建一个文件.您只需要在.proj文件中执行5行(粗略)xml条目
归档时间: |
|
查看次数: |
8684 次 |
最近记录: |