标签: nant-task

MSBuild 2010 - 如何将Web应用程序发布到特定位置(nant)?

我正在尝试让MSBuild 2010将Web应用程序发布到特定位置.我可以将部署包发布到特定路径,但部署包然后添加自己的路径更改.

例如:如果我告诉它发布到C:\dev\build\Output\Debug那时实际的web文件最终在C:\dev\build\Output\Debug\Archive\Content\C_C\code\app\Source\ControllersViews\obj\Debug\Package\PackageTmpC_C路径的一部分改变(不确定它如何选择路径的这一部分).

这意味着我不能只从发布位置编写副本.

我现在正在使用这个nant/msbuild命令:

  <target name="compile" description="Compiles">
<msbuild project="${name}.sln">

  <property name="Platform" value="Any CPU"/>
  <property name="Configuration" value="Debug"/>
  <property name="DeployOnBuild" value="true"/>
  <property name="DeployTarget" value="Package"/>
  <property name="PackageLocation" value="C:\dev\build\Output\Debug\"/>
  <property name="AutoParameterizationWebConfigConnectionStrings" value="false"/>
  <property name="PackageAsSingleFile" value="false"/>

</msbuild>
Run Code Online (Sandbox Code Playgroud)

有关如何将Web文件直接发送到特定位置的任何想法?

msbuild nant msbuild-task visual-studio-2010 nant-task

17
推荐指数
1
解决办法
2万
查看次数

是否有可能使nant在Web应用程序项目上运行发布

有没有可能让nant在mvc项目或一个好的旧的Web应用程序项目上运行发布,
并在发布后将文件发送到Web服务器

更新:找到解决ftp问题的
Nant ftp任务谢谢Paco

我的意思是publich
是否有一个命令行应用程序或nant任务,可以公开像visual studio发布...

ftp nant publish nant-task visual-studio

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

在运行NUnit并指定类别时,是否也可以包含所有未分类的测试?

我们有几百个测试类,其中几十个标有以下属性:[TestFixture] [Explicit] [Category("IntegrationTests")]因此它们只能在我们的夜间自动构建中运行.其余的TestFixtures没有指定类别(也没有标记为Explicit).

这是我们为执行测试而运行的NAnt任务:

<nunit2>
    <test>
        ...
        <categories>
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>
Run Code Online (Sandbox Code Playgroud)

当然,这不会执行任何未分类的测试.

我希望能够做到这样的事情:

<nunit2>
    <test>
        ...
        <categories>
            <include name="*" />
            <include name="IntegrationTests" />
        </categories>
        ...
    </test>
</nunit2>
Run Code Online (Sandbox Code Playgroud)

所有未分类的测试都将与集成测试一起运行.这可能吗?如果是这样,语法是什么?

(注意:我正在寻找一个NAnt解决方案,如上所述,或NUnit命令行解决方案.我当然可以使用不同的选项运行NUnit两次,或者在我的所有TestFixtures上放置类别.这些是我的解决方法如果必须,可以使用,但是能够直接指定未分类的测试会更酷.)

nant nunit explicit nant-task categories

7
推荐指数
2
解决办法
2590
查看次数

FailOnError在自定义NAnt任务中不起作用

我有自定义的NAnt任务用于测试目的,如果任务失败,我想取消NAnt构建过程.我创建了自定义ErrorTask:

[NAnt.Core.Attributes.TaskName("errorTask")]
public class ErrorTask : NAnt.Core.Task
{
    public ErrorTask()
    {
        FailOnError = true;
    }

    protected override void ExecuteTask()
    {
        Log(NAnt.Core.Level.Error, "Error!");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我在NAnt构建文件中的内容:

<target name="errorTarget"> 
    <errorTask failonerror="true" />
    <errorTask failonerror="true" />
</target>
Run Code Online (Sandbox Code Playgroud)

在结果(build.log)中我有:

errorTarget:
[errorTask] Error!
[errorTask] Error!
BUILD SUCCEEDED - 2 non-fatal error(s), 0 warning(s)
Total time: 0 seconds.
Run Code Online (Sandbox Code Playgroud)

所以,我可以看到第二个任务也在运行,但是我想取消它,因为第一个调用返回"Error!".你能协助我修理吗?

另外,我假设,没有必要对FailOnError值进行硬编码,它应该足以在构建脚本中使用failonerror属性,但在任何情况下它都不适用于我.

谢谢.

nant nant-task

6
推荐指数
1
解决办法
1389
查看次数

如何从另一个构建文件执行nant构建文件?

我有一个很大的项目,我创建了一些构建文件,我在不同的场景中使用,包括ccnet.所以,我有BF1.build和BF2.build

我只是想在BF1中某处从BF2.build调用/执行脚本

nant nant-task

4
推荐指数
1
解决办法
2685
查看次数

如何让NAnt使用真实账户发送电子邮件

首先,我已经看过这篇文章:没有邮件问题,但唯一的答案并不令人满意(即:对我不起作用).

我正在使用NAnt获取最新版本的源代码,升级版本的库和应用程序,构建应用程序,构建设置......所有常见的事情,我敢打赌.我希望NAnt向某些人发送电子邮件,确认构建过程的结论; 我已经检查了该任务的官方(相当丑陋的,恕我直言)文档,但该示例一旦被复制和定制,就不起作用.

这是我正在使用的NAnt目标和任务:

<target name="sendMail" >
    <mail 
        from="MyUserName@gmail.com" 
        tolist="user1@provider1.com;user2@provider1.com" 
        subject="Subject of email" 
        mailhost="smtp.gmail.com"
        message="Your new release is ready!">
    </mail>
</target>
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

530 5.7.0必须首先发出STARTTLS命令.

看起来该任务是为供应商不需要身份验证的帐户设计的; 但如果我必须使用需要身份验证的外部smtp服务器(告诉我的老板我内部需要一个smtp服务器不是一个选项),我该怎么办?

有人可以帮助/教我吗?

提前致谢...

nant nant-task

3
推荐指数
1
解决办法
2273
查看次数