标签: nant

当Nant构建文件执行NUnit时,CruiseControl.NET查看NUnit xml测试结果

我有一个Nant构建文件,在编译dll之后执行NUnit.我正在使用CruiseControl中的任务执行NAnt构建文件.所以NAnt运行的测试不是CruiseControl.

如何配置它以便CruiseControl Web仪表板可用于查看NUnit输出?


这解决了它:

<publishers>
    <merge>
        <files>
                 <file>build\*.test-result.xml</file>
        </files>
    </merge>
    <xmllogger />
 </publishers>
Run Code Online (Sandbox Code Playgroud)

nant nunit cruisecontrol

9
推荐指数
1
解决办法
4615
查看次数

NAnt和VS2008(.NET 3.5) - 不支持解决方案格式的文件Solution.sln

我正在尝试使用VS2008 SP1和x64 XP运行NAnt 0.86b1.

我有一个基本的构建文件(下面)给出错误不支持文件'Solution.sln'的解决方案格式.

<property name="nant.settings.currentframework" value="net-3.5" />

<target name="build" description="Full Rebuild" depends="clean,compile" />  

<target name="clean" description="Cleans outputs">
    <delete dir="bin" failonerror="false" />
    <delete dir="obj" failonerror="false" />
</target>

<target name="compile" description="Compiles solution">
    <solution configuration="debug" solutionfile="Solution.sln" />
</target>
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过这个问题吗?我找不到任何有用的东西.

nant .net-3.5 visual-studio-2008

9
推荐指数
2
解决办法
7005
查看次数

在NAnt构建系统中使用PowerShell Cmdlet的好方法是什么?

我们广泛使用NAnt构建系统.最近,我写了几个PowerShell Cmdlet来执行一些与数据库相关的事情.首先,这些Cmdlet的意图并不一定在我们的构建过程中运行.但是,这最近成为一种需求,我们希望从基于NAnt的构建过程中运行一些这些Cmdlet.

这些Cmdlet是用C#编写的,我们有一个SnapIn(如果这很重要的话).

一些想法:

  • 使用exec任务调用PowerShell?(不知道这会怎么样)
  • 编写引用和使用Cmdlet的自定义NAnt任务?

什么可能是一个很好的方法来做到这一点?

nant build-automation powershell

9
推荐指数
2
解决办法
4327
查看次数

抑制NAnt删除任务的日志输出

我们目前正在使用CruiseControl.NET和NAnt 0.85构建脚本,虽然一切运行良好,但日志文件对我来说有点过于冗长.

特别是,当使用<delete>任务删除文件夹时,我总是[delete] Deleting directory在日志中获得一个条目.

足够公平,但这个任务是在一个foreach循环中运行并导致一个很长的条目列表(特别是如果文件夹包含文件 - 报告每个删除)这只是使日志混乱并使其难以阅读而无需无休止的滚动.我已经添加了许多<echo>任务来报告脚本进度,所以不需要所有这些'绒毛'.

我已经verbose="false"<delete>任务上使用了该属性,并且在此过程中压缩了文件删除消息(这提高了日志可读性无止境),仍然会报告文件夹删除.我尝试过使用该verbose属性,foreach但这没有任何区别.

有谁知道我怎么可以压制这些消息或我坚持他们..?

cruisecontrol.net nant logging

9
推荐指数
1
解决办法
1032
查看次数

使用Nant创建目录

不确定我是否完全错过了它,但我不知道如何使用Nant创建一个新目录.是否有内置功能来执行此操作?我可以使用命令提示符吗?我尝试过以下方面:

<exec program="cmd" commandline="md c:\test" />  
Run Code Online (Sandbox Code Playgroud)

但它只是在屏幕上打开了一个命令提示符,从未完成...

nant

9
推荐指数
1
解决办法
3146
查看次数

.NET依赖关系管理和标记/分支

我的公司在确定管理构建,发布和分支的最佳方法时遇到了麻烦...我们的基本设置是我们有4个应用程序,我们维护2个WPF应用程序和2个ASP.NET应用程序,所有这4个应用程序共享公共库,所以目前他们都在一个文件夹/ trunk/{app1,app2,app3,app4}.

这使得分支/标记单个应用程序非常困难,因为您同时对所有4个应用程序进行分支,因此我们希望将其分为{app1,app2,app3,app4}/{trunk,tags,branches但是我们遇到了放置共享库的问题?

我们不能将共享库作为SVN外部因素,因为当你分支/标记时,分支仍然引用了trunk共享库,而不是让它们分支.

有小费吗?想法?

我们目前正在使用svn和cruisecontrol.net.

编辑:共享库现在经常更改,这就是为什么我们不能将它们用作svn externals到trunk,因为我们可能会在分支中更改它们.所以我们不能将它们用作二进制引用.

当库静态构建而不是包含源时,它也很难测试和调试.

c# svn cruisecontrol.net msbuild nant

9
推荐指数
1
解决办法
1261
查看次数

Nant:更改文件权限

我有一个ASP.NET应用程序.基本上交付流程是这样的:

  • Nant构建应用程序并在开发人员的计算机上创建一个zip文件,其中包含没有SVN文件夹和无用文件的应用程序文件.此文件随Nant脚本一起提供.
  • zip和nant文件将复制到客户端的计算机上
  • Nant脚本用zip文件中包含的文件替换当前的网站文件.

我的问题是,当我尝试打开网站时,我有一个未经授权的访问错误.似乎文件需要为用户" IIS_WPG " 设置权限.

我无权更改IIS配置,因此我必须手动更改每个文件的权限.每次我更换文件时,权限都会被删除,我需要再次设置它们.

所以我有两个问题:

  • 我可以用Nant更改文件权限吗?怎么做 ?
  • 有可能避免这个问题吗?(开发人员在他们的计算机上没有此用户)

nant file-permissions

8
推荐指数
2
解决办法
2294
查看次数

如何使用Nant在构建时自动更改连接字符串

当使用Nant发布构建类型时,是否可以自动更改web.config中的连接字符串?如果是这样,怎么样?谢谢

.net nant

8
推荐指数
2
解决办法
3371
查看次数

在MSBuild中获取父目录

在NAnt我有一个非常简单的属性来获取我的项目的根,它看起来像这样:

<property
name="project.root.folder" 
value="${directory::get-parent-directory(directory::get-parent-directory(project.local.folder))}"
/>
Run Code Online (Sandbox Code Playgroud)

这将我带到我的项目的根目录,从中构建我的所有路径.

在MSBuild我可以$(MSBuildProjectDirectory)用来获取我当前的目录,但我想获得父目录的完整路径.NAnt使用directory::get-parent-directory它有魅力,我希望在MSBuild中有类似的功能.

我发现了一个类似的问题(http://stackoverflow.com/questions/514264/msbuild-find-msbuildprojectdirectory-parent-directory),但我认为必须有一些更简单的问题,当然!

山姆:)

.net msbuild nant

8
推荐指数
1
解决办法
5616
查看次数

如何根据属性存在有条件地将参数传递给NAnt exec任务?

我想从我的NAnt脚本中调用某个EXE,并在属性存在时传递属性作为参数,否则不传递任何内容.

以下代码似乎只适用于这种情况,但它不起作用:

<exec program="notepad.exe">
  <arg line="${file}" if="${property::exists('file')}" />
</exec>
Run Code Online (Sandbox Code Playgroud)

它抛出Property 'file' has not been set错误.看起来它会评估忽略条件的属性.我希望它<arg>在条件为的情况下忽略整个元素false.

如果我在这个块上面定义属性,它显然工作正常(即使该属性为空).如果它是一个案例,它可能值得一个解决方法,但我必须以同样的方式传递许多属性.此外,<if>不是<exec>...... 下的有效元素

怎么做到这一点?有任何想法吗?

xml nant

8
推荐指数
1
解决办法
3010
查看次数