最後に、再利用可能なソリューションは次のとおりです。
要約:
私はいくつかのルートフォルダ内のサイトのディレクトリとプロジェクトファイル名を持つが、すべてのウェブサイトの価値を命名しています。スクリプトを実行するコマンドラインからすべてのサイト(または選択したリスト)を公開できるようにしたいと考えています。 Webサイトは、IISサーバーのディレクトリに公開されます。 1行に1つのウェブサイトの名前のテキストファイルを作成し、
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Compile,Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name ="DeleteFiles">
<Delete Files="..\$(ProjectName)\$(ProjectName)\obj\debug\$(ProjectName).dll"></Delete>
<Delete Files="..\$(ProjectName)\$(ProjectName)\obj\release\$(ProjectName).dll"></Delete>
<Delete Files="..\$(ProjectName)\$(ProjectName)\bin\$(ProjectName).dll"></Delete>
<Delete Files="..\$(ProjectName)\$(ProjectName)\bin\$(ProjectName).pdb"></Delete>
</Target>
<Target Name="Compile" DependsOnTargets="DeleteFiles">
<MSBuild Projects="..\$(ProjectName)\$(ProjectName)\$(ProjectName).csproj"
Targets="Clean;Build"
Properties="OutputPath=..\$(ProjectName)\bin"/>
</Target>
<Target Name="Deploy" DependsOnTargets="Compile">
<MSBuild Projects="..\$(ProjectName)\$(ProjectName)\$(ProjectName).csproj"
Targets="ResolveReferences;_CopyWebApplication"
Properties="OutDir=C:\inetpub\wwwroot\$(ProjectName)\bin\;WebProjectOutputDir=C:\inetpub\wwwroot\$(ProjectName)" />
</Target>
</Project>
次へ:
まず、Webサイト名のパラメータを取り込みMSBuildのスクリプトを作成します。これは、 "dir> sites.txt"を実行して不要なコンテンツを編集することで簡単に生成できます。
ie。
最後に、リストを反復処理がsites.txtに含まれるバッチファイルを作成し、MSBuildのスクリプトを実行します。
@echo --------------------------------------------
@echo -- Iterating through list in sites.txt --
@echo --------------------------------------------
for /f %%X in (sites.txt) do msbuild build.xml /p:ProjectName="%%X" /v:n
このソリューションでは、同じレベルのディレクトリに常駐ビルドスクリプトの ".. \ $(ProjectName)"という理由から、ルートからWebサイトの残りの部分。
多くのサイトを公開するうえで、これが誰かを助けてくれることを願っています。
ソリューションの作成を検討しましたか? MSビルドはビルド方法も知っています。 –
それは別のトラックに私を入れている...私はそれをチェックします、ありがとう。 – ElHaix