2016-03-07 86 views
0

當我嘗試在TFS 2015中發佈我的asp.net核心Web應用程序時,它失敗了「DNU(0,0):生成任務:錯誤:指定的路徑,文件名或兩者都太長「。 當故障排除後我意識到dnu.cmd發佈了以下參數:錯誤 - 在TFS 2015 dnu發佈

C:\ WINDOWS \ ServiceProfiles \ NetworkService.dnx \運行時\ DNX-CLR-雙贏x86.1.0.0-RC1-UPDATE1 \ bin \ dnu.cmd 發佈「D:\ TFSAgent_work \ 19 \ s \ code \ src \ WebsiteApp」--out 「C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp \ PublishTemp \ WebsiteApp59」 - -configuration發佈--runtime DNX-CLR-雙贏x86.1.0.0-RC1-UPDATE1 --wwwroot 「wwwroot的」 --wwwroot出 「wwwroot的」 --iis命令 「網絡」

的TFS中的MSBuild參數設置爲:

/P:PublishProfile = PubStaging/P:DeployOnBuild =真

所以構建失敗時將文件複製:

使用軟件包的依賴Microsoft.AspNet.Http.Features 1.0 .0-rc1-final 源C:\ Windows \ ServiceProfiles \ NetworkService.dnx \ packages \ Microsoft.AspNet.Http.Features \ 1.0.0-rc1-final 目標C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ TEMP \ PublishTemp \ WebsiteApp59 \ approot \ packages \ Microsoft.AspNet.Http.Features \ 1.0.0-rc1-final

DNU(0,0):錯誤:指定的路徑,文件名或兩者都太長。 完全限定的文件名必須少於260個字符,並且 目錄名稱必須少於248個字符。

TFS服務器在NetworkService下運行,但輸出應根據我的發佈配置文件進入「.... \ artifacts \ PublishOutput」。

任何人都可以給我一個提示如何進行?

+0

你是指什麼意思?代碼從GIT存儲庫中獲取,因此所有編譯都在TFS 2015服務器中完成。 – Peter

+0

您是否按照這篇文章構建和部署您的項目:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5? –

回答

1

檢查this情況:

  1. PowerShell腳本 「prebuild.ps1」 按照以前的答案和Microsoft部署指南:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5

  2. 香草的MSBuild建設。沒有開關或特殊設置。

  3. 運行「dnu publish」的Powershell腳本。這將創建整個Web應用程序結構的目錄。

  4. 「Windows文件複製」任務將#4中創建的目錄結構部署到測試環境中的所有目標機器。