最近团队开发要用到BuildIt进行版本发布,装完这个软件按照文档说明对自带的程序进行操作都完全正常,但要操作自己写的程序WAppTest时却一直无法进行。我的Build.exe.config主要部分如下:
<buildIt>
<!-- Contains source control info used to connect to a SourceSafe -->
<sourceControl username="admin" password="" iniFilePath="D:\VSS\BuildItTest\srcsafe.ini" srcVSSRootFolder="$/WAppTest" srcFileRootFolder="E:\VisualStudioProject\WAppTest"/> <!-- Contains a list of solutions to be built -->
<solutions latestRootFolderFullName="E:\VisualStudioProject" buildNumberFilePath="E:\VisualStudioProject\BuiltIt\buildNumber.xml">
<solution path="E:\VisualStudioProject\WAppTest\WAppTest.sln" />
</solutions>

<options>
<archiveBuild mode="on" archiveRootFolderFullName="E:\VisualStudioProject\Archive">
<additionalFoldersToArchive>
<folder fullName="E:\VisualStudioProject\WAppTest\Debug" destFolderName="Debug" />
<folder fullName="E:\VisualStudioProject\WAppTest\Release" destFolderName="Release" />
</additionalFoldersToArchive>
</archiveBuild>  <updateAssemblyVersion mode="on"  csAssemblyVersionVSSPath="$/WAppTest/AssemblyInfo.cs" />
</options>
</buildIt>一直提示Validating command-line arguments 这样的错误,查看事件日志,也只是提示<buildit>这个结点下的配置有误,但就是不知道具体错在哪里。
还请各位大吓指正,谢谢!

解决方案 »

  1.   

    看过名为 BuildReport.log 的生成报告了吗?里面有无法生成的原因
      

  2.   

    配置文件设置名为 BuildIt.exe.config 的 BuildIt 配置文件包含在运行时读取的设置。 这允许在无需重新编译解决方案的情况下修改该工具的行为。 文件中的设置指出了:&#8226; 所生成的解决方案。 
     
    &#8226; 连接到指定的 VSS 数据库所需要的信息。 
     
    &#8226; 是否用内部版本号更新程序集版本。 
     
    &#8226; 是否将以前生成的程序集存档到指定的位置。 
     
    &#8226; 是否通过电子邮件将生成结果发送到指定的电子邮件地址。 
     注意 如果缺少或者错误地指定了任何设置,那么,BuildIt 会引发异常,除非本文中另有声明。下面的代码示例显示配置文件设置的格式。<configuration> 
      <configSections> 
        <section name="BuildIt"  
         type="Sapient.Framework.Tools.BuildIt.BuildItSectionHandler,     
         BuildIt"/> 
      </configSections> 
      <appSettings> 
        <add key="appendTraceOutput" value="off" /> 
        <add key="enableCustomMessageFilter" value="on"/> 
        <add key="visualStudioProgID" value="VisualStudio.Solution.7"/> 
      </appSettings> 
      <buildIt> 
        <sourceControl username="username" password="password"  
         iniFilePath="c:\Program Files\Microsoft Visual Studio\VSS\srcsafe.ini"  
         srcVSSRootFolder="$/System" srcFileRootFolder="c:\System"/> 
        <solutions latestRootFolderFullName="c:\System"  
         buildNumberFilePath="c:\System\BuildNumber.xml"> 
          <solution path=" c:\System\Solution1\Solution1.sln"/> 
          <solution path=" c:\System\Solution2\Solution2.sln"/> 
        </solutions> 
        <options> 
          <sendBuildReport mode="on/off" smtpServer="255.255.255.255"  
           toAddress="[email protected]"/> 
          <archiveBuild mode="on/off"  
            archiveRootFolderFullName="c:\System\Archive"> 
            <additionalFoldersToArchive> 
              <folder fullName="c:\System\Solution1\Setup1\Debug"  
               destFolderName="Debug\Setup1" /> 
              <folder fullName=" c:\System\Solution1\Setup1\Release"  
               destFolderName="Release\Setup1" /> 
            </additionalFoldersToArchive> 
          </archiveBuild> 
          <updateAssemblyVersion mode="on/off"    
           vbAssemblyVersionVSSPath="$/System/AssemblyVersionInfo.vb" 
           csAssemblyVersionVSSPath="$/System/AssemblyVersionInfo.cs"/>   
        </options> 
      </buildIt> 
    </configuration> 
      

  3.   

    谢过先。
    但问题还是,BuildReport.log这个文件没有生成,倒是在测试楼上提到的那个帮助文档中的例子时是有编译成功的并且也有生成BuildReport.log这个文档。
    测试自己的例子时只有一个BuildIt.log,里面提示:
    Validating command-line arguments
    Reading BuildIt settings from configuration file
    BuildIt aborted abnormally. Check the Event Viewer for detailed error information.按照帮助文档里的描述,BuildReport.log这个文件应该会在每次编译时生成的,但我不知道为什么会没有。
      

  4.   

    已解决。最后自己通过断点调试BuildIt的解决方案,发现原来是我把Build.exe.config配置文件中的vbAssemblyVersionVSSPath这一属性删掉而引起的错误,保留这个属性并把它设为空值就行了。