Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置Powershell提供程序返回的对象的默认显示属性_C#_Powershell_Properties - Fatal编程技术网

C# 设置Powershell提供程序返回的对象的默认显示属性

C# 设置Powershell提供程序返回的对象的默认显示属性,c#,powershell,properties,C#,Powershell,Properties,我正在用C#构建一个Powershell提供程序。它为其子树中的项返回普通的旧C#对象 默认情况下,每个项目的所有属性都显示在垂直列表中,这很难看。因此,我需要指定显示属性,以允许对象在开箱即用的情况下正确格式化 根据文章和一篇文章,为了在执行“dir”时显示属性子集,需要在$pshome目录中创建一个“.format.ps1xml”文件。我已尝试完全按照建议执行此操作,输入如下示例: <Types> <Type> <Name>My.Namespa

我正在用C#构建一个Powershell提供程序。它为其子树中的项返回普通的旧C#对象

默认情况下,每个项目的所有属性都显示在垂直列表中,这很难看。因此,我需要指定显示属性,以允许对象在开箱即用的情况下正确格式化

根据文章和一篇文章,为了在执行
“dir”
时显示属性子集,需要在
$pshome
目录中创建一个“.format.ps1xml”文件。我已尝试完全按照建议执行此操作,输入如下示例:

<Types>
  <Type>
    <Name>My.Namespace.Provider.Account</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
    </Members>
  </Type>
...

My.Namespace.Provider.Account
标准成员
DefaultDisplayPropertySet
名称
...
但是,这对输出没有任何影响。这可能是d'oh配置错误,所以这里是我想到的所有问题:

  • 文件是否必须位于
    $pshome
    目录中(在我的计算机上是
    C:\Windows\System32\WindowsPowerShell\v1.0
    )?这个文件能在别处保存吗?当my.dll可以放在任何地方时,必须将其安装在WindowsPowerShell目录中似乎是错误的

  • 该文件的确切名称是什么?这是我的c#provider的名称空间、c#type,然后是在
    [CmdletProvider]
    属性中指定的提供者名称。我尝试使用提供者名称后跟
    .format.ps1xml
    ,但正如前面提到的,它不起作用

  • 上面xml的
    type
    部分中提到的类型是我的提供者返回的命名空间限定类型。这是正确的吗

  • 可能帮助您的信息和示例可能帮助您的信息和示例