首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nantcontrib <record>任务

Nantcontrib <record>任务
EN

Stack Overflow用户
提问于 2013-03-21 04:43:52
回答 2查看 232关注 0票数 0

我正在尝试将日志文件附加到电子邮件中。

我的代码是:

代码语言:javascript
复制
**<loadtasks assembly=".../tasks.dll" />
<record name="c:foo\log.txt" action="Start" />
<target name="email">
<mail
      from="abc@foo.com"
      tolist="xyz@foo.com"
      subject="Build"
      message="Build Failed"
      mailhost="smtp.anywhere.net">
      <files>
        <include name="c:foo\log.txt" />
      </files>
      <attachment>
        <include name="c:foo\log.txt" />
      </attachment>
    </mail>
</target>
<record name="c:foo\log.txt" action="Close" />**

我的命令是:

代码语言:javascript
复制
nant -f:filename.build email -l:c:foo\log.txt

我得到以下错误:

代码语言:javascript
复制
System.Security.SecurityException: Request for the permission of type 'System.Se
curity.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089' failed.
   at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMa
rk& stackMark, Boolean isPermSet)
   at System.Security.CodeAccessPermission.Demand()
   at System.IO.FileSystemInfo.get_FullName()
   at NAnt.Contrib.Tasks.RecordTask.ExecuteTask()
   at NAnt.Core.Task.Execute()
   at NAnt.Core.Project.InitializeProjectDocument(XmlDocument doc)
   at NAnt.Core.Project.Execute()
   at NAnt.Core.Project.Run()

当我不使用<record>任务,它给出另一个错误,如,无法附加txt文件。因为它正被另一个进程使用。

为什么我会得到这个错误?

EN

回答 2

Stack Overflow用户

发布于 2013-03-28 11:36:25

我做了一些事情,如刷新记录任务,就在发送电子邮件之前,然后复制文件附加在电子邮件中,希望这个解决办法工作

代码语言:javascript
复制
    <echo>${emailsubject}</echo>    
    <echo>Sending Email</echo>
    <echo>Attaching File : ${build.log.dir}/email_${build.log.filename}</echo>
    <echo>Attaching File : ${path.vsshelper.log}/logs/email_${build.log.getlistoffiles}</echo>

    <record name="${build.log.dir}/${build.log.filename}"       action="Flush" level="Verbose"/>
    <sleep milliseconds="5000" />
    <copy file= "${build.log.dir}/${build.log.filename}" tofile="${build.log.dir}/email_${build.log.filename}" />   
    <copy file= "${path.vsshelper.log}/logs/${build.log.getlistoffiles}" tofile="${path.vsshelper.log}/logs/email_${build.log.getlistoffiles}" />           
票数 0
EN

Stack Overflow用户

发布于 2013-03-30 07:15:06

在尝试通过电子邮件发送该文件之前,请确保该文件已关闭。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15534335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档