1

私は現在、TFS2012 および VS2012 テクノロジを使用して、Web アプリケーションと非 Web アプリケーションを構築および展開しています。

実施された調査:
- Microsoft ビルド エンジンの内部、MSBuild と Team Foundation ビルドの使用に関する本を読みます。
- 私の問題については、Stackoverflow、msdn、およびその他のフォーラムを参照してください。

残念ながら、私はまだ問題に直面しています。

現在のセットアップ:

私は持っています:

  • ClassLib1.slnというソリューション
  • ソリューション内のBuild.projファイル
  • 2 ソリューション内のプロジェクト:
    • ClassLib1.csproj - 非 Web アプリケーション
    • MvcApp1.csproj - Web アプリケーション
  • ビルドを実行するビルド サーバー
  • Build.projファイルをビルドするビルド定義 ( DefaultTemplate.11.1.xaml ) 。

Build.projファイルには、次の構成が含まれています

<?xml version="1.0" encoding="utf-8" ?>  
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <ItemGroup>  
    <DirectoriesToDelete Include="\\server\build\test\MvcApp1" />  
    <DirectoriesToDelete Include="\\server\build\test\ClassLib1" />  
    <SolutionsToBuild Include="ClassLib1.sln" />  
    <ProjectsToPublish Include="MvcApp1\MvcApp1.csproj">  
      <Properties>  
        OutputPath=$(MSBuildProjectDirectory)\build\test\ClassLib1\MvcApp1\; 
        UseWPP_CopyWebApplication=true;  
        PipelineDependsOnBuild=false;  
        SkipInvalidConfigurations=true;  
        DeployOnBuild=true;  
        DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;  
        AutoParameterizationWebConfigConnectionStrings=false;  
        _PackageTempDir=\\server\build\test\MvcApp1  
      </Properties>  
    </ProjectsToPublish>  
    <ProjectsToPublish Include="ClassLib1\ClassLib1.csproj">  
      <Properties>  
        OutputPath=\\server\build\test\ClassLib1\  
      </Properties>  
    </ProjectsToPublish>  
  </ItemGroup>  
  <Target Name="Build">  
    <RemoveDir Directories="@(DirectoriesToDelete)" />  
    <MSBuild Projects="@(SolutionsToBuild)" />  
    <MSBuild Projects="@(ProjectsToPublish)" />  
  </Target>  
</Project>  

機能するもの:

msbuild をローカルで実行すると (例: msbuild Build.proj /t:Build )、すべてが機能します。両方のプロジェクトがビルドされ、指定されたPackageTempDirまたはOutPutPathに出力されます。

当面の問題:

ただし、ビルド定義を使用してビルドを実行しようとすると、指定した場所にMvcApp1.csprojファイルのみが出力されます。ClassLib1.csprojファイルがありません。

私は多くのことを試しましたが、これまでのところ何もうまくいきませんでした(手動で行うことを除いて)。

私はこれに少し慣れていないので、簡単に理解できなかったり、何かを見逃したりする可能性があることに注意してください。

4

1 に答える 1