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

Executable Script Code Found in Signature Block Error

在 Windows 7 机器上使用 Visual Studio 2017 部署 Azure ARM 模板时,我最近开始收到一条错误消息,指出 Executable script code found in signature block 仅出现在 之后second部署一个模板。我发现很少有资源提到这个错误,但是 none 除了关闭和重新打开 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 数据收集时包含。如果我尝试删除该文件 and/or 文件夹,结果保持不变。

我还尝试了以下方法,希望能找到解决方案:

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