2013-07-18 59 views
2

我認爲簡單的不是。我所要做的就是讓MSBuild在構建完成後將網站文件複製到另一臺服務器上。從構建定義發佈不起作用VS2012

在我的生成定義在過程 - >高級 - >的MSBuild參數我把

/P:DeployOnBuild = TRUE/P:PublishProfile = WebsiteProfile

它建立精細但它從來沒有複製文件到目的地

但是當我運行這個命令本地,它工作!!!!!

的MSBuild/P:DeployOnBuild = TRUE/P:PublishProfile = WebsiteProfile

我有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;" 

繁殖STEPS

  1. 創建新網站項目
  2. 確信它的工作本地機器 使用開發服務器
  3. 經過代碼在TFS
  4. 創建使用所有默認設置下的進程生成定義 - >高級 - >參數的MSBuild我把

/p:DeployOnBuild = TRUE/p:PublishProfile = WebsiteProfile

發佈配置文件複製變更到遠程服務器。

+0

聽起來像許可的事情。構建代理是否在目標服務器上具有適當的權限? –

+0

我該如何檢查? –

回答

2

在生成服務器上安裝Web Tools 2012.2更新後,我在閱讀此postScott Gu's Blog後解決了此問題。我沒有在服務器上安裝Visual Studio,但安裝更新後,我的DeployOnBuild正常工作。我希望有所幫助。