2016-12-21 7 views
0

У меня есть 2 модуля, написанных на C# 1, написанных в PowerShell.Распознавание типа параметра Powershell от другого модуля

PowerShell модуль содержит командлет, который возвращает C# класса

namespace SxServices 
{ 
    [Cmdlet("Get", "SxWinService")] 
    [OutputType(typeof(SxWinService))] 
    public class GetSxWinService : SxCmdLetBase 
    { 

Так что теперь, если я выполняю Get-Help Get-SxWinService -Полного он скажет мне, что ЦМД выходы DataObjects.WinServices.SxWinService. Это здорово, и следующий код даст мне intellisense по всем свойствам этого класса.

Get-SxWinService blah | Select-Object -Property 

Однако в моем втором модуле (Powershell) Я пишу другую команду, которая принимает параметр типа [DataObjects.WinServices.SxWinService].

Function Set-SxServiceDetails{ 
    [CmdletBinding()] 
    param(
     [parameter()] 
     [DataObjects.WinServices.SxWinService]$Service 
    ) 

Однако не PowerShell распознает тип и дать мне список допустимых свойств для данного типа с IntelliSense. Я чувствую, что чего-то не хватает! У кого-нибудь есть идеи?

ответ

0

Извините, все отменили это, не уверен, что я делаю, но теперь все работает отлично.

Возможно, потребуется некоторое обновление кеша или модуль должен удалить и перезагрузить. Во всяком случае, кажется, что выше все, что вам нужно сделать.

Смежные вопросы