在签名块错误中找到可执行脚本代码

时间:2017-05-04 21:54:41

标签: visual-studio powershell azure azure-deployment

在Windows 7计算机上使用Visual Studio 2017部署Azure ARM模板时,我最近收到一条错误消息,指出Executable script code found in signature block仅在第二次部署模板后出现。我发现很少有消息来源提到这个错误但除了关闭和重新打开Visual Studio之外没有一个实际的解决方案,这实际上是不可接受的解决方案。我在下面列出了完整的部署日志:

17:40:53 - The following parameter values will be used for this operation:
17:40:53 -     AZTemplateTestName: AZTemplateTest-AppService
17:40:53 -     AZTemplateTestSkuName: S1
17:40:54 - Build started.
17:40:54 - Project "AZTemplateTest.deployproj" (StageArtifacts target(s)):
17:40:54 - Project "AZTemplateTest.deployproj" (ContentFilesProjectOutputGroup target(s)):
17:40:54 - Done building project "AZTemplateTest.deployproj".
17:40:54 - Done building project "AZTemplateTest.deployproj".
17:40:54 - Build succeeded.
17:40:54 - Launching PowerShell script with the following command:
17:40:54 - 'C:\Users\username\documents\visual studio 2017\Projects\AZTemplateTest-Test\AZTemplateTest-Test\bin\Debug\staging\AZTemplateTest\Deploy-AzureResourceGroup.ps1' -StorageAccountName '' -ResourceGroupName 'AZTemplateTest-Test-2' -ResourceGroupLocation 'eastus' -TemplateFile 'C:\Users\username\documents\visual studio 2017\Projects\AZTemplateTest-Test\AZTemplateTest-Test\bin\Debug\staging\AZTemplateTest\azuredeploy.json' -TemplateParametersFile 'C:\Users\username\documents\visual studio     2017\Projects\AZTemplateTest-Test\AZTemplateTest-Test\bin\Debug\staging\AZTemplateTest\azuredeploy.parameters.json' -ArtifactStagingDirectory '.' -DSCSourceFolder '.\DSC'
17:40:54 - [ERROR] At line:1 char:2337
+ $UI = 'VS-'; if (!(Test-Path 'C:\Users\username\AppData\Roaming\Windows Azure P ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Executable script code found in signature block.

更有趣的是,如果我转到C:\Users\username\AppData\Roaming,那么符合Windows Azure P模式的唯一文件夹就是Windows Azure Powershell。在该文件夹中,唯一存在的是AzureDataCollectionProfile.json,仅在我选择加入或移出Azure数据集时才包含。如果我尝试删除该文件和/或文件夹,结果将保持不变。

为了找到解决方案,我也尝试了以下方法:

  • 完全创建了一个新项目,结果相同
  • 清理项目,结果相同
  • 重建项目,结果相同

1 个答案:

答案 0 :(得分:1)

这是Win7上PowerShell 3中的一个已知问题 - 我们唯一的解决方法是升级PowerShell。