ASP.NET 5 Azure部署:无法执行操作("创建目录")

时间:2016-05-10 23:04:18

标签: asp.net msbuild azure-web-sites webdeploy coreclr

这与ERROR on Azure Web App Deployment of a msdeploy package

有很多相似之处

我正在运行 msbuild / t: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模板。

删除它会给我留下错误:

  

无法执行操作("创建目录")   指定目录   (" C:\用户\吉姆\应用程序数据\本地\ TEMP \ PublishTemp \ API78 \ wwwroot的&#34)。

很明显,它试图复制本地目录结构。我不确定的是如何/在何处解决这个问题。

我在那里看到msdeploy switch -declareParam ,但我调用 msbuild ,而不是 msdeploy 。我希望有一种方法可以在模板扩展中实现,但是我无法找到关于在那里提供价值的方式/方法的任何文档。

这是利用C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0

中的构建模板

1 个答案:

答案 0 :(得分:0)

不确定它是否完全适用,但我最近在博客中通过MSBuild使用SetParameters。

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

摘要:SetParams是一个ItemGroup。 MSBuild.exe命令不支持仅提供ItemGroups属性。我添加了一些MSBuild脚本来接受一个Property并转换为ItemGroup,从而设置了params。