私は単一のWebプロジェクトを構築して公開していますが、これは大きなソリューションです。TeamBuildプロセスによって呼び出されるcmdファイルからmsbuild.exeを開始します。
c:\Windows\Microsoft.NET\Framework64\v4.0.30319 MSBuild.exe /p:Configuration=Release /p:DeployOnBuild=True /p:CreatePackageOnPublish=true /T:Package "%~dp0%xxx.Project1.csproj"
Web配置パッケージ設定のproject1.csprojのプロジェクト設定:
パッケージが作成される場所:$(SourcesDirectoryOfProject)\ .. \ .. \ .. \ .. \ bin \ xxx.Project1
これは非常にうまく機能しますが、問題は、「.. \ .. \ .. \ .. \ bin\xxx.Project1」の「Archive」という名前のフォルダが非常に長くなることです。Web.configなどの実際のWebファイルに到達するまで、16個のサブフォルダーをクリックする必要があります。アーカイブフォルダの下には、一時的なドロップフォルダへの穴フォルダ構造を表すように見えるサブフォルダがあります。ここで、公開用のファイルが最初に作成されます。
...\Archive\Content\D_C\Builds\9\TeamProjectName\BigProject\Sources\BigProject\Main\Source\SolutionName\ProjectName\obj\Release\Package\PackageTmp\bin
そして最後にPackageTempの下に自分のWebファイルがあります。それに関する本当の問題は、いくつかのファイルのフォルダー名が長くなることです-そのため、それらを正しく削除できず、コンピューターの処理を実行する前にBuilds-Folderを空にできないため、TeamBuildがクラッシュします。
最良の方法は、msbuild.exe(またはプロジェクト設定内)にWebProjectファイルをダンプする場所を指定できるオプションを用意することです(つまり、ファイルはフォルダー:App_Code、bin、Configuration、ファイル: global.asax、一部のxamlxおよびWeb.config)
では、WebProjectデータを別の指定されたパスにドロップするにはどうすればよいですか?
よろしくお願いします
セバスチャン