亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用msbuild構建應用

2019-11-17 02:18:46
字體:
來源:轉載
供稿:網友

用msbuild構建應用

Posted on 2015-06-18 13:40 松大人 閱讀(...) 評論(...) 編輯 收藏

  msbuild是微軟提供的一個用于生成應用程序的平臺,你可以通過一個xml配置文件來控制和處理你的軟件工程。它也集成到了vs里面,它不依賴于vs。

xml配置(架構)的組成元素:

  •   項目文件

      屬性

      項

      任務

      目標

屬性: 
<PRopertyGroup>    <AssemblyName>MSBuildSample</AssemblyName>    <OutputPath>Bin/</OutputPath>  </PropertyGroup>
項: 
<ItemGroup>    <Compile Include="helloworld.cs" />  </ItemGroup>
任務:
    <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />
目標:目標是將一些任務有順序的組合到一起
<Target Name="Build">    <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />  </Target>

下面是msdn上面一個最簡單的xml構架文件:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  <ItemGroup>    <Compile Include="helloworld.cs" />  </ItemGroup>  <Target Name="Build">    <Csc Sources="@(Compile)"/>    </Target></Project>

該文件通過一個任務編譯helloworld.cs文件。

下面是一個完整的構建一個c/s架構應用程序的簡單示例:

xml文件定義的屬性:
<PropertyGroup>    <OutDir>output</OutDir>    <OutServerDir>$(OutDir)server</OutServerDir>    <OutClientDir>$(OutDir)client</OutClientDir>    <SolutionFile>../xx/你的工程文件.sln</SolutionFile>    <ServerDir>xx/xx/工程編譯后bin/server目錄</ServerDir>    <ClientDir>xx/xx/工程編譯后bin/client目錄</ClientDir></PropertyGroup>

xml文件定義的項:
<ItemGroup>    <ServerDirFiles Include="$(ServerDir)/**/*.*" Exclude="你要排除的文件定義"/>    <ClientDirFiles Include="$(ClientDir)/**/*.*" Exclude="你要排除的文件定義"/></ItemGroup>

xml文件定義的任務列表:
  1. Clean
  2. Init
  3. Build
  4. Relesase  
  <Target Name="Clean">        <RemoveDir Directories="$(OutDir)"/>    </Target>        <Target Name="Init" DependsOnTargets="Clean">        <MakeDir Directories="$(OutDir)"/>        <MakeDir Directories="$(OutServerDir)"/>        <MakeDir Directories="$(OutClientDir)"/>    </Target>        <Target Name="Build" DependsOnTargets="Init">        <MSBuild         Projects="$(SolutionFile)"         Targets="Rebuild"         Properties="Configuration=Release"/>    </Target>        <Target Name="CopyFiles" DependsOnTargets="Build">        <Copy         SourceFiles="@(ServerDirFiles)"         DestinationFiles="@(ServerDirFiles->'$(OutServerDir)/%(RecursiveDir)%(Filename)%(Extension)')"/>        <Copy         SourceFiles="@(ClientDirFiles)"         DestinationFiles="@(ClientDirFiles->'$(OutClientDir)/%(RecursiveDir)%(Filename)%(Extension)')"/>    </Target>
以上幾個片段的匯總:
<Project DefaultTargets="CopyFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">    <PropertyGroup>        <OutDir>output</OutDir>        <OutServerDir>$(OutDir)server</OutServerDir>        <OutClientDir>$(OutDir)client</OutClientDir>        <SolutionFile>../xx/你的工程文件.sln</SolutionFile>        <ServerDir>xx/xx/工程編譯后bin/server目錄</ServerDir>        <ClientDir>xx/xx/工程編譯后bin/client目錄</ClientDir>    </PropertyGroup>    <ItemGroup>        <ServerDirFiles Include="$(ServerDir)/**/*.*"/>        <ClientDirFiles Include="$(ClientDir)/**/*.*"/>    </ItemGroup>        <Target Name="Clean">        <RemoveDir Directories="$(OutDir)"/>    </Target>        <Target Name="Init" DependsOnTargets="Clean">        <MakeDir Directories="$(OutDir)"/>        <MakeDir Directories="$(OutServerDir)"/>        <MakeDir Directories="$(OutClientDir)"/>    </Target>        <Target Name="Build" DependsOnTargets="Init">        <MSBuild         Projects="$(SolutionFile)"         Targets="Rebuild"         Properties="Configuration=Release"/>    </Target>        <Target Name="CopyFiles" DependsOnTargets="Build">        <Copy         SourceFiles="@(ServerDirFiles)"         DestinationFiles="@(ServerDirFiles->'$(OutServerDir)/%(RecursiveDir)%(Filename)%(Extension)')"/>        <Copy         SourceFiles="@(ClientDirFiles)"         DestinationFiles="@(ClientDirFiles->'$(OutClientDir)/%(RecursiveDir)%(Filename)%(Extension)')"/>    </Target></Project>
View Code

在使用這個msbuild xml文件的時候你可以寫一個批處理命令:

@echo off%SystemRoot%/Microsoft.NET/Framework/v2.0.50727/msbuild build.xml /nologo /v:mpause

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品视频免费不卡69堂| 欧美做受高潮1| 正在播放国产一区| 国产日产久久高清欧美一区| 国产精品久久久久久久一区探花| 国模私拍视频一区| 国产综合在线视频| 久久夜色撩人精品| 亚洲视频电影图片偷拍一区| 成人国产精品久久久久久亚洲| 欧美性猛交xxxx黑人| 欧美一级黄色网| 欧美又大粗又爽又黄大片视频| 久久精品国产成人精品| 亚洲a区在线视频| 亚洲欧美国产一本综合首页| 国产精品久久97| 福利微拍一区二区| 日本一区二三区好的精华液| 国产精品v日韩精品| 国产精品aaa| 中文字幕视频一区二区在线有码| 久久视频国产精品免费视频在线| 色哟哟亚洲精品一区二区| 亚洲国产成人久久| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品久久久久久久久久久不卡| 亚洲图片欧洲图片av| 精品亚洲va在线va天堂资源站| 国产精品27p| 国产一区二区三区在线观看网站| 亚洲综合色av| 亚洲精品动漫久久久久| 欧美有码在线观看| 狠狠久久亚洲欧美专区| 国产精品视频最多的网站| 欧美影院成年免费版| 国产精品久久中文| 国产午夜一区二区| 成人自拍性视频| 黄色成人在线免费| 97精品在线视频| 97精品国产97久久久久久| 国产精品久久久久久久久影视| 91九色蝌蚪国产| 精品久久久香蕉免费精品视频| 亚洲在线免费观看| 久久精品中文字幕免费mv| 国产精品女主播视频| 久久久精品久久久| 日本午夜人人精品| 狠狠做深爱婷婷久久综合一区| 国产欧美日韩精品丝袜高跟鞋| 91视频免费网站| 亚洲91精品在线观看| 国产一区二区三区在线| 欧美性xxxxxx| 成人精品在线视频| 国产suv精品一区二区| 精品中文字幕在线观看| 激情亚洲一区二区三区四区| 日本久久久久久久久| 成人性教育视频在线观看| 最近2019中文字幕一页二页| 26uuu亚洲伊人春色| 成人国产精品久久久久久亚洲| 亚州欧美日韩中文视频| 91精品国产综合久久久久久久久| 亚洲女性裸体视频| 成人久久久久久久| 亚洲欧美日韩国产中文| 国产亚洲精品美女久久久久| 日韩av网站在线| 亚洲精品国产精品国自产观看浪潮| 91po在线观看91精品国产性色| 国产精品爽爽爽爽爽爽在线观看| 91精品视频在线| 疯狂蹂躏欧美一区二区精品| 成人av在线亚洲| 91精品久久久久久| 色综合久久中文字幕综合网小说| 久久成年人免费电影| 成人欧美一区二区三区在线湿哒哒| 91av在线不卡| 91在线高清视频| 亚洲自拍偷拍区| 国产区精品在线观看| 国产精品电影观看| 日韩精品极品毛片系列视频| 伦伦影院午夜日韩欧美限制| 青青草原一区二区| 在线精品91av| 久久精品国产99国产精品澳门| 国产亚洲精品va在线观看| 欧美精品videos另类日本| 国产亚洲激情在线| 久久夜色精品亚洲噜噜国产mv| 欧美成人性生活| 中文字幕精品www乱入免费视频| 午夜精品久久久久久久久久久久久| 欧美小视频在线| 91色精品视频在线| 91美女片黄在线观| 美女av一区二区三区| 亚洲一区二区免费| 亚洲字幕在线观看| 日韩有码在线观看| 久久久亚洲天堂| 国产午夜精品美女视频明星a级| 国产精品大陆在线观看| 97视频免费在线观看| 最新69国产成人精品视频免费| 午夜精品国产精品大乳美女| 国产在线观看精品一区二区三区| 亚洲精品视频免费| 日韩av免费在线播放| 国产手机视频精品| 欧美色图在线视频| 一本一本久久a久久精品综合小说| 成人激情免费在线| 国产精品久久久久久中文字| 伊人一区二区三区久久精品| 91chinesevideo永久地址| 久久天堂电影网| 国产视频在线观看一区二区| 欧美精品久久久久久久免费观看| 国产97在线观看| 欧美视频二区36p| 亚洲精品xxx| 久久精品国产视频| 欧美一级片免费在线| 久久久亚洲国产天美传媒修理工| 亚洲精品视频在线观看视频| 欧美黄色小视频| 亚洲va久久久噜噜噜久久天堂| 97国产在线观看| 国产精品白丝jk喷水视频一区| 一区二区三区四区精品| 欧美性xxxx| 欧美日韩视频免费播放| 欧美激情精品久久久久久免费印度| 日韩av电影中文字幕| 久久人人爽国产| 欧美性生交xxxxx久久久| 亚洲精品欧美一区二区三区| 欧洲美女7788成人免费视频| 亚洲美腿欧美激情另类| 国产日韩欧美在线观看| 欧美日韩国产专区| 午夜精品久久久久久久久久久久久| 久久91精品国产91久久跳| 国产福利成人在线| 亚洲九九九在线观看| 欧美人与性动交| 成人久久一区二区三区| 成人福利网站在线观看| 欧美日韩国产精品一区二区不卡中文| 国产91色在线|免| 亚洲激情在线观看视频免费| 欧美日本黄视频| 亚洲女人天堂视频| 激情久久av一区av二区av三区| 中文字幕亚洲欧美日韩高清| 亚洲男人天天操|