2016-05-10 63 views
0

這蘊藏着很多相似之處,以ERROR on Azure Web App Deployment of a msdeploy packageASP.NET 5 Azure的部署:無法執行操作(「創建目錄」)

我正在的MSBuild /噸:packagepublish使用ARM模板的自動部署。模板的相關部分:

"resources": [ 
    { 
     "name": "MSDeploy", 
     "type": "extensions", 
     "location": "[resourceGroup().location]", 
     "apiVersion": "2015-08-01", 
     "dependsOn": [ 
      "[concat('Microsoft.Web/sites/', variables('webAppName'))]" 
     ], 
     "tags": { 
      "displayName": "webDeploy" 
     }, 
     "properties": { 
      "packageUri": "[concat(parameters('_artifactsLocation'), '/', parameters('webDeployPackageFolder'), '/', parameters('webDeployPackageFileName'), parameters('_artifactsLocationSasToken'))]", 
      "dbType": "None", 
      "connectionString": "", 
      "setParameters": { 
       "IIS Web Application Name": "[variables('webAppName')]" 
      } 
     } 
    } 
] 

這失敗,不存在財產被稱爲「IIS Web應用程序名稱」的錯誤,我可以從那裏確實生成的包文件中看到沒有的parameters.xml就像ASP.NET 4模板一樣。

除去留給我的錯誤:

Unable to perform the operation ("Create Directory") for the specified directory ("C:\Users\Jim\AppData\Local\Temp\PublishTemp\API78\wwwroot").

那麼清楚它試圖複製本地目錄結構。我不確定的是如何/在哪裏解決這個問題。

我看到有一個msdeploy開關-declareParam,但我祈求的MSBuild,不msdeploy。我希望有一種方法可以在模板擴展中做到這一點,但是我找不到任何有關如何在那裏提供值的文檔。

這是借力建立模板在C:\ Program Files文件(x86)的\的MSBuild \微軟\ VisualStudio的\ v14.0

回答

0

不知道它完全適用,但我最近在博客通過使用的MSBuild SetParameters。

https://dotnetcatch.com/2016/04/27/setparameters-via-msbuild-commandline/

總結:SetParams是一個的ItemGroup。 MSBuild.exe命令不支持僅提供ItemGroups屬性。我添加了一些MSBuild腳本來接受一個屬性並將其轉換爲ItemGroup,從而設置參數。

+0

這看起來很有前途......令人沮喪的是,這對ASP.NET 4.5的「正常工作」另外也許分開調用msdeploy是一條路。 –

+0

我絕對更喜歡在大多數情況下分別使用MSDeploy。這篇博客文章是針對其他人的一種解決方法,從MSBuild啓動部署的具體用例。 – chief7

相關問題