系统相关
首页 > 系统相关> > Powershell导入自定义C#CMDlet,没有可用的“ ExportedCommands”

Powershell导入自定义C#CMDlet,没有可用的“ ExportedCommands”

作者:互联网

这里的第一个问题:)

因此,我必须使用Visual Studio 2010 Express为Powershell 2.0创建自定义CMDLet.
我遵循了这个看似简单的教程:http://blogs.msdn.com/b/saveenr/archive/2010/03/08/how-to-create-a-powershell-2-0-module-and-cmdlet-with-visual-studio-2010-screencast-included.aspx

我的代码几乎相同(甚至尝试复制粘贴其代码),但是在我将Im​​port-Module称为“ path_to_dll”之后

然后调用Get-Module,我看到了导入的模块,但是没有ExportedCommands可用.

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Binary     PowerShellCMDLetsLibrary  {}

C#代码:

namespace PowerShellCMDLetsLibrary
{
    [System.Management.Automation.Cmdlet(System.Management.Automation.VerbsCommon.Get,"RemedyXml")]
    public class Get_RemedyXml:System.Management.Automation.PSCmdlet
    {
    [System.Management.Automation.Parameter(Position = 0, Mandatory = true)]
    public string TicketID;

    protected override void ProcessRecord()
    {
    ...
    this.WriteObject(Result.InnerXml, true);
    }

可能是一个错误,我只是看不到

解决方法:

@我跳了两件事:

> TicketID是一个字段,而不是属性.
>过度命名的属性使代码难以阅读.

我怀疑它是#1,但我无法肯定地看到过去#2.

希望这可以帮助

标签:cmdlet,powershell,c,net,import-module
来源: https://codeday.me/bug/20191102/1991840.html