2

私が単純だと思っていたのはそうではありません。私がやろうとしているのは、ビルド後にMSBuildにWebサイトファイルを別のサーバーにコピーさせることだけです。

私のビルド定義では、Process --> Advance --> MSBuild Argumentsの下に

/p:DeployOnBuild=true /p:PublishProfile=WebsiteProfile

正常にビルドされますが、ファイルを宛先にコピーすることはありません

しかし、このコマンドをローカルで実行すると、うまくいきます!!!!!

msbuild /p:DeployOnBuild=true /p:PublishProfile=WebsiteProfile

Build Server に VS 2012 がインストールされているので、必要なファイルはすべてそこにあると思います。

何が問題ですか?

更新 1

ビルドログファイルに出力

プロジェクトの MSBuild を実行する

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /nologo /noconsolelogger "C:\Builds\1\MyProject\MyProject\src\MyProject.sln" /nr:False /fl /flp:"logfile=C:\Builds\1\MyProject\MyProject\src\MyProject.log;encoding=Unicode;verbosity=detailed" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:PublishProfile=WebsiteProfile /p:VisualStudioVersion=11.0 /m /p:OutDir="C:\Builds\1\MyProject\MyProject\bin\\" /p:RunCodeAnalysis="False" /p:VCBuildOverride="C:\Builds\1\MyProject\MyProject\src\MyProject.sln.vsprops"  /dl:WorkflowCentralLogger,"E:\Microsoft Team Foundation Server 11.0\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;BuildUri=vstfs:///Build/Build/64;InformationNodeId=20178;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://abc-tfs-p:8080/tfs/defaultcollection;"*WorkflowForwardingLogger,"E:\Microsoft Team Foundation Server 11.0\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;"

再現手順

  1. 新しいウェブサイトプロジェクトを作成しました
  2. 開発サーバーを使用してローカルマシンで動作することを確認しました
  3. TFS でチェックされたコード
  4. すべてのデフォルト設定を使用してビルド定義を作成しました Process --> Advance --> MSBuild Arguments I put

/p:DeployOnBuild=true /p:PublishProfile=WebsiteProfile

発行プロファイルは、変更セットをリモート サーバーにコピーします。

4

1 に答える 1

2

この投稿Scott Gu のブログを読んだ後、ビルド サーバーに Web Tools 2012.2 更新プログラムをインストールすると、この問題が修正されました。サーバーに Visual Studio をインストールしていませんが、更新プログラムをインストールすると DeployOnBuild が機能しました。それが役立つことを願っています。

于 2013-12-16T17:07:39.130 に答える