我已成功将IDE中存在的编译日志提取到一个xml文件中。所以为了合并它,我在ccnet.config
文件中使用<merge>
在发布者任务中提到了
部分。
但是当我强制构建时,我能够正确地获取output.xml
文件但是
错误在ccnet.config
窗口中抛出,它无法合并,因为此文件当前被其他进程使用。
请参阅以下内容:
[VSAT:ERROR]发布者扔了 例外: ThoughtWorks.CruiseControl.Core.CruiseC ontrolException:无法读取 文件内容:C: \ ThreePartition \ outp ut.xml ---&gt; System.IO.IOException:进程 无法访问文件'C:\ ThreeP artition \ output.xml'因为它是 被另一个进程使用。
您能否建议任何可以成功完成合并的方法?
我已粘贴下面的整个ccnet.config
文件。
<project name="VSAT">
<sourcecontrol type="filtered">
<sourceControlProvider type="filesystem">
<repositoryRoot>C:\ThreePartition</repositoryRoot>
<autoGetSource>true</autoGetSource>
<ignoreMissingRoot>false</ignoreMissingRoot>
</sourceControlProvider>
<exclusionFilters>
<pathFilter>
<pattern>C:\ThreePartition\wrSbc750gx_ThreePartition\**</pattern>
</pathFilter>
<pathFilter>
<pattern>C:\ThreePartition\*.txt</pattern>
</pathFilter>
<pathFilter>
<pattern>C:\ThreePartition\*.xml</pattern>
</pathFilter>
</exclusionFilters>
</sourcecontrol>
<triggers>
<intervalTrigger name="continuous" seconds="240"
buildCondition="IfModificationExists" />
</triggers>
<tasks>
<nant>
<executable>C:\Nant-0.85\bin\NAnt.exe</executable>
<buildFile>nant.build</buildFile>
</nant>
</tasks>
<publishers>
<merge>
<files>
<file>C:\ThreePartition\output.xml</file>
</files>
</merge>
<xmllogger logDir="C:\Program Files\CruiseControl.NET\server\DF2.0-CI
\Logfiles" />
<email from="BuildAdmin@server.com"
mailhost="smtp.servermail.com" includeDetails="TRUE">
<users>
user name="Maddy" group="buildmaster"
address="Mymail@server.com"/>
</users>
<groups>
<group name="buildmaster" notification="always"/>
<group name="developers" notification="change"/>
</groups>
</email>
</publishers>
</project>
</cruisecontrol>
我刚刚将发布商部分放在下面以获得更好的观看次数
<publishers>
<merge>
<files>
<file>C:\ThreePartition\output.xml</file>
</files>
</merge>
<email from="BuildAdmin@server.com" mailhost="smtp.server.com" includeDetails="TRUE">
<users>
<user name="Maddy" group="buildmaster" address="Maddy.@server.com"/>
</users>
<groups> <group name="buildmaster" notification="always"/>
<group name="developers" notification="change"/>
</groups>
</email>
答案 0 :(得分:1)
一些想法:
答案 1 :(得分:0)
说的是:问题是当CC.net尝试合并时哪个进程打开了你的xml - 也许Process Explorer可能有用吗?如果将xml输出复制到单独的文件并合并它,也许它可以工作。