2017-12-01 1 views
1

私はチームの都市で実行される以下のmsbuildを持っています。私はweb.configを除外したいが、できない。下のコードでは、コードを追加したが、それは動作しません。私はmsbuildとteamcityで全く初心者ですmsbuildを含むweb.config

<property name="solution.dir" value="." /> 
<property name="SolutionFileName" value="MyProj.sln" /> 
<property name="projectfile" value="${solution.dir}\MyDir\Myproj.csproj" /> 
<property name="MSBuildPath" value="C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" /> 
<ItemGroup> 
<MyProjectReferences Exclude="web.config" /> 
</ItemGroup> 
<target name="build" depends="clean,UpdateBuildVersion,compile" /> 
<target name="clean" description="delete build artifacts"> 
    <property name="build.base" value="${solution.dir}/_deploy/" /> 
    <property name="dir.publish" value="${build.base}/publish" /> 
    <property name="dir.package" value="${build.base}/package" /> 
    <property name="project.fullversion" value="1.0.0.1" /> 

</target> 
<target name="compile" description="compile"> 

    <exec program="${MSBuildPath}" failonerror="true"> 
    <arg value="${projectfile}" /> 
    <arg line="/p:Configuration=Release" /> 
    <arg line="/p:UseWPP_CopyWebApplication=True" /> 
    <arg line="/p:PipelineDependsOnBuild=False"/> 
    <arg line="/t:Rebuild" /> 
    <arg line="/t:Package" /> 
    <arg line="/p:IncludeAppPool=true" /> 
    <arg line="/p:PackageLocation=${solution.dir}/../publish/package/Myproj.zip" /> 
    <arg line="/P:DeployIisAppPath=website/MyProj" /> 
    <!--<arg line="-skip:objectName=filePath,absolutePath=.*web\.config"></arg>--> 

    </exec> 
</target> 

誰かが正しい方向を指すことができますか?

+0

btw:これには、xmlビルドスクリプト全体が含まれていません。最後の半分ではなく、ファイル全体を投稿できますか? –

+0

@CJohnson私は関連コードを投稿したと思います。休息は駄目で、コメントアウトされました。タグを閉じることができないかもしれないが、それは私が思うthatsだ – Happy

答えて

0

いいえ、開始するには、ビルドの構文がオフになっています。しかし、あなたはmsbuildの初心者です。だから私はあなたがここで私たちに与えたものに基づいてあなたが必要とするものを解釈しようとしました。ここに戻って質問があると私はそれに答えるために全力を尽くします場合

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="Choose something else here too"> 
    <PropertyGroup> 
    <SolutionDir>C:\Some\Path\Where\You\Keep\your\Solution\</SolutionDir> 
    <BuildDir>C:\Some\Path\where\your\build\goes\that\is\outside\of\your\repo\</BuildDir> 
    </PropertyGroup> 
    <ItemGroup> 
    <MyProject include="$(SolutionDir)MyDir\MyProj.csproj" > 
     <Properties>Condiguration=Release;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;IncludeAppPool=true;PackageLocation=$(SolutionDir);DeployIisAppPath=website\MyProj</Properties> 
    </MyProject> 
    </ItemGroup> 
    <Target name="clean"> 
    <!-- The best thing to do is to call msbuild with the clean target. --> 
    <MSBuild Projects="@(MyProject)" Targets="Clean" /> 
    <!-- Then delete anything else you want to --> 
    <Delete Files="" /> 
    <!-- I like to just delete the build directory for cleaning --> 
    <RemoveDir Directories="$(BuildDir)" /> 
    </Target> 

    <Target name="updateBuildVersion"> 
    <!-- Do what ever you need to here. --> 
    </Target> 

    <Target name="Build" DependsOnTargets="clean;updateBuildVersion"> 
    <MSBuild Projects="@(MyProject" Targets="Build" StopOnFirstFailure="true" /> 
    </Target> 
</Project> 

コメント:だからここ

はやや再解釈スクリプトです。

+0

どこにweb.configを削除? – Happy

+0

web.configのようなファイルは、MyProj.csprojファイルの「アイテム」になるようです。そのファイル(あなたが投稿していないもの)は、web.configを含んでいるか除外しています。 –

+0

私はあなたが何を意味するか理解していませんでした。あなたは Happy

関連する問題