You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#调用的PowerShell Core中安装Az模块遇执行错误求助

.NET 6调用PowerShell安装Az模块失败问题

尝试通过C# .NET 6调用PowerShell脚本安装并使用Az库时,出现以下错误:

执行测试失败,原因:
New-AzResourceGroup:
行 |
8 | New-AzResourceGroup -Name 'TestRg123' -Location 'eastus2euap'
| ~~~~~~~~~~~~~~~~~~~
| 术语“New-AzResourceGroup”未被识别为 cmdlet、函数、脚本文件或可执行程序的名称。请检查名称的拼写,如果包含路径,请验证路径是否正确,然后重试。

查看ps.ErrorBuffer后发现,PowerShell Core在安装Azure模块时存在问题,这是OneGet的已知问题。


相关代码

Program.cs

using System.Diagnostics;
using System.Management.Automation;
using System.Management.Automation.Runspaces;

var initialState = InitialSessionState.CreateDefault2();
initialState.ExecutionPolicy = Microsoft.PowerShell.ExecutionPolicy.Unrestricted;

using var ps = PowerShell.Create(initialState);
var results = ps.AddScript(@"
Install-PackageProvider -Name Nuget -Scope CurrentUser –Force

Install-Module –Name PowerShellGet -Scope CurrentUser –Force

Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force

# 导入Azure模块
Import-Module 'Az'
Import-Module 'Az.Accounts'
Import-Module 'Az.RecoveryServices'

try {
    New-AzResourceGroup -Name 'TestRg123' -Location 'eastus2euap'
}
catch
{
    $string_err = $_ | Out-String
    Write-Output ""Failed to run test $testname because $string_err""
}
").Invoke();

foreach (var outputItem in results)
{
    Debug.WriteLine(outputItem);
}

ConsoleApp.csproj

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <Platforms>x64</Platforms>
        <PlatformTarget>x64</PlatformTarget>
    </PropertyGroup>

    <ItemGroup>
      <PackageReference Include="Microsoft.PowerShell.SDK" Version="7.2.6" />
      <PackageReference Include="PowerShellStandard.Library" Version="5.1.1" />
      <PackageReference Include="System.Management.Automation" Version="7.2.6" />
    </ItemGroup>

</Project>

详细错误信息

未处理的异常 - 消息:“Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicType”的类型初始值设定项引发异常。 名称:TypeInitializationException 堆栈跟踪:
   在 Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicType.Create(Type tInterface, OrderedDictionary`2 instanceMethods, List`2 delegateMethods, List`1 stubMethods, List`2 usedInstances)
   在 Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicInterface.CreateProxy(Type tInterface, Object[] instances)
   在 Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicInterface.DynamicCast(Type tInterface, Object[] instances)
   在 Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicInterface.DynamicCast[TInterface](Object[] instances)
   在 Microsoft.PackageManagement.Internal.Utility.Plugin.DynamicInterfaceExtensions.As[TInterface](Object instance)
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletBase.get_PackageManagementHost()
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletBase.SelectProviders(String[] names)
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletWithProvider.get_SelectedProviders()
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider.get_SelectedProviders()
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletWithProvider.<get_CachedSelectedProviders>b__23_0()
   在 Microsoft.PackageManagement.Internal.Utility.Extensions.DictionaryExtensions.GetOrAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`1 valueFunction)
   在 Microsoft.PackageManagement.Internal.Utility.Extensions.Singleton`1.GetOrAdd(Func`1 newInstance, Object primaryKey, Object[] keys)
   在 Microsoft.PackageManagement.Internal.Utility.Extensions.SingletonExtensions.GetOrAdd[TResult](Object primaryKey, Func`1 newInstance, Object[] keys)
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletWithProvider.get_CachedSelectedProviders()
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.CmdletWithProvider.GenerateDynamicParameters()
   在 Microsoft.PowerShell.PackageManagement.Cmdlets.AsyncCmdlet.<>c__DisplayClass83_0.<AsyncRun>b__0()

错误截图

错误截图


内容的提问来源于stack exchange,提问作者Node.JS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 03:01:09