1

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

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

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

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

错误:

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

4

1 回答 1

0

尝试这个:

  • 转到控制面板和与“Windows Azure Powershell *”相关的所有内容,全部卸载。
  • 现在安装Windows Azure Powershell CMdlet
  • 验证您是否已安装 powershell @ C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell (您将在此文件夹中的所有 dll 导致您的问题案例中丢失)
  • 现在在管理员模式下打开一个 Windows Powershell 提示符
  • 使用此链接并按照流程验证您是否可以访问 Windows Azure 管理服务(这只是为了验证您的计算机中是否具有所需的所有模块)
  • 现在尝试任何你想尝试的东西,应该没有任何问题。
于 2012-07-10T20:28:02.340 回答