2016-05-10 8 views
0

Это имеет много сходства с ERROR on Azure Web App Deployment of a msdeploy packageASP.NET 5 Azure Развертывание: Невозможно выполнить операцию («Create Directory»)

Я бегу 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')]" 
      } 
     } 
    } 
] 

Это завершается с ошибкой, что нет никакой собственности под названием «Web IIS имя приложения», и я могу видеть из сгенерированного файла пакета там в самом деле нет 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 \ Microsoft \ VisualStudio \ v14.0

ответ

0

Не уверен, что если его полностью применимо, но я недавно писал о использовании SetParameters с помощью MSBuild.

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

 Смежные вопросы

  • Нет связанных вопросов^_^