文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用MSBuild自动发布Silverlight xap

用MSBuild自动发布Silverlight xap

时间:2010-09-05  来源:ITLOVER

    最近刚做完一个大型Silverlight战略性项目。在这个项目中,我主要负责了一个核心模块的设计和开发工作。一边写复杂的界面导航,一边写服务的核心代码,同时还要负责安排身边其他同事的工作,并Review他们的代码。另外,还要负责发布项目到测试环境,可把我累坏了,不过,让我也学会了很多东西,一是学会了抗压,二是学会了如何带身边的人。:)

     当初,发布项目到测试环境,全是手工操作。效率不高,而且很枯燥。当时是没办法,来不及写工具了。后来测试后期,我闲下来了,就想通过自动化的方式来发布项目到测试环境。因此有了对MSBuild的第一个应用。

下面的过程可以发布Silverlight xap到测试环境:

第一步:编写Project.proj文件,描述你要做那些编译任务。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         DefaultTargets="Main">
    <PropertyGroup>
        <!--vsts path of silverlight project-->
        <VstsProjectPath>$/Vsts/Team/SourceCode/SilverlightPortal</VstsProjectPath>
        <!--workspace of vsts path-->
        <WorkspacePath>D:\VstsSourceCode\Team\SourceCode\SilverlightPortal</WorkspacePath>
        <TFCommand>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.exe</TFCommand>
        <TestEnvPublishPath>\\127.0.0.1\SilverlightPortal</TestEnvPublishPath>
    </PropertyGroup>
    
    <!--Step1:Get latest source code from vsts-->
    <Target Name="GetLatest">
        <Exec Command="'$(TFCommand)' $(VstsProjectPath) /v:T /force /recursive"
              WorkingDirectory="$(WorkspacePath)"
              ContinueOnError="false"/>
    </Target>
    
    <!--Step2:Build silverlight project-->
    <Target Name="Build">
        <MSBuild Projects="$(WorkspacePath)\SilverlightPortal.csproj"
                 Targets="Rebuild"
                 Properties="Configuration=Release"
                 ContinueOnError="false"/>
    </Target>
    
    <!--Step3:Publish output xap-->
    <Target Name="Publish">
        <Exec Command="net use $(TestEnvPublishPath) /user:TestEnv\TestUser TestUserPassword"
              ContinueOnError="false"/>
        <!--copy output xap to network shared directory-->
        <Exec Command="copy $(WorkspacePath)\Bin\Release\SilverlightPortal.xap $(TestEnvPublishPath)\ClientBin\SilverlightPortal.xap"
              ContinueOnError="false"/>
        <Exec Command="notepad $(TestEnvPublishPath)\Web.config"
              ContinueOnError="false"/>
    </Target>

    <Target Name="Main">
        <CallTarget Targets="GetLatest" ContinueOnError="false"/>
        <CallTarget Targets="Build" ContinueOnError="false"/>
        <CallTarget Targets="Publish"/>
    </Target>
</Project>

 

 

第二步:编写PublishXap.bat文件,用Project.proj文件做为输入调用msbuild.exe执行编译任务。

@echo off
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe Project.proj
pause

 

 

注意,需要你创建一个目录,目录中放Project.proj文件和PublishXap.bat文件。双击bat文件即可执行构建。

相关阅读 更多 +
排行榜 更多 +
终极街头格斗

终极街头格斗

休闲益智 下载
大炮轰飞机

大炮轰飞机

飞行射击 下载
像素打僵尸

像素打僵尸

飞行射击 下载