powershell - 为 Node.js/PHP 构建 Windows Azure PowerShell CmdLet 时出现问题

标签 powershell azure

我正在尝试构建 Windows Azure PowerShell cmdlet,但在加载 cmdlet 时遇到问题。我已按照以下步骤操作:

  1. 从 master 分支克隆了最新代码 https://github.com/WindowsAzure/azure-sdk-tools
  2. 使用 VS 2010 SP1 Ultimate 构建解决方案 WindowsAzurePowershell.sln [我安装了 Windows Azure SDK 1.7、适用于 Windows Azure 和 WIX 的 VS 2010 工具]
  3. 构建解决方案后,打开文件夹 C:\repo\Windows-Azure-SDK-Nodejs-Git\azure-sdk-tools\Package\Debug 并尝试通过运行以下命令加载 cmdlet: 获取子项'.*.psd1'| ForEach-Object {导入模块 $_}

并出现以下错误。有人可以帮我解决这个问题吗?

如果我使用 WebPI 安装官方 cmdlet 位,则一切正常。但是使用我构建的 msi 安装的 cmdlet 无法加载,并出现相同的错误。

错误:

PS C:\repo\Windows-Azure-SDK-Nodejs-Git\azure-sdk-tools\Package\Debug> Get-ChildItem '.*.psd1' | ForEach-对象 {导入模块 $} > error.txt 导入模块:无法加载 Windows PowerShell 管理单元 C:\Interop-TFS\Windows-Azure-SDK-Nodejs-Git\azure-sdk-tools\Pack 由于出现以下错误,age\Debug\Microsoft.WindowsAzure.Management.ServiceManagement.dll:无法加载一个或 更多请求的类型。检索 LoaderExceptions 属性以获取更多信息。 装载机异常: 无法加载文件或程序集“Microsoft.WindowsAzure.Management,版本=1.0.0.0,文化=中性,PublicKeyToken=31” bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。 无法加载文件或程序集“Microsoft.WindowsAzure.Management,版本=1.0.0.0,文化=中性,PublicKeyToken=31” bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。 无法加载文件或程序集“Microsoft.WindowsAzure.Management,版本=1.0.0.0,文化=中性,PublicKeyToken=31” bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。 无法加载文件或程序集“Microsoft.WindowsAzure.Management,版本=1.0.0.0,文化=中性,PublicKeyToken=31” …… bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。 无法加载文件或程序集“Microsoft.WindowsAzure.Management,版本=1.0.0.0,文化=中性,PublicKeyToken=31” bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。 行:1 字符:57 + Get-ChildItem '.*.psd1' | ForEach-Object {导入模块 <<<< $} > error.txt + CategoryInfo : ResourceUnavailable: (:) [导入模块],PSSnapInException +FullyQualifiedErrorId:PSSnapInLoadFailure,Microsoft.PowerShell.Commands.ImportModuleCommand

最佳答案

试试这个:

  • 转到控制面板以及与“Windows Azure Powershell *”相关的所有内容,全部卸载。
  • 现在安装Windows Azure Powershell CMdlets
  • 验证您是否已在 C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell 处安装了 powershell(您将在此文件夹中找到导致问题案例中丢失的所有 dll)
  • 现在在管理模式下打开 Windows Powershell 提示符
  • 使用这个link并按照流程验证您是否可以访问 Windows Azure 管理服务(这只是为了验证您的计算机是否拥有所需的所有模块)
  • 现在尝试您想尝试的任何方法,应该不会有任何问题。

关于powershell - 为 Node.js/PHP 构建 Windows Azure PowerShell CmdLet 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11375580/

相关文章:

powershell - 将字符串转换为时间跨度

powershell - qwinsta/服务器 :somesrv equivalent in Powershell?

windows - 使用 powershell 添加/删除主机文件条目会损坏文件

c# - 在 Azure Functions 上使用 AdWords API

python - 无法在数据工厂上创建变量事件

python - Azure KeyVault : how to retrieve clientId, clientSecret 和现有服务主体的tenantId?

powershell - 替换 powershell 中的 app.config 项节点值

powershell - Powershell获取服务问题

azure - 监听队列(事件驱动,无轮询)服务总线/存储队列

azure - 如何在 Bicep 中获取 AKS 节点池 vnet