none
System.Printing RRS feed

  • Вопрос

  • Добрый день, возникла проблема с типом пространства имен System.Printing он отсутствует

    New-Object : Не удается найти тип [System.Printing.PrintQueueStatus]: убедитесь в том, что сборка, содержащая этот тип, загружена.
    строка:1 знак:10
    + $print = New-Object -TypeName System.Printing.PrintQueueStatus
    +          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
        + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

    с чем подобное связано и как это можно исправить

    Версия PS

    Major  Minor  Build  Revision
    -----  -----  -----  --------
    4      0      -1     -1




    30 марта 2014 г. 11:40

Ответы

  • Добавьте перед вызовом "$print = New-Object -TypeName System.Printing.PrintQueueStatus" строку "[System.Reflection.Assembly]::LoadWithPartialName("System.Printing")"


    Примерно так

    [System.Reflection.Assembly]::LoadWithPartialName("System.Printing")
    $print = New-Object -TypeName System.Printing.PrintQueueStatus



    • Изменено Vasily Larionov 30 марта 2014 г. 13:18
    • Помечено в качестве ответа KazunEditor 31 марта 2014 г. 5:01
    30 марта 2014 г. 13:16

Все ответы

  • Добавьте перед вызовом "$print = New-Object -TypeName System.Printing.PrintQueueStatus" строку "[System.Reflection.Assembly]::LoadWithPartialName("System.Printing")"


    Примерно так

    [System.Reflection.Assembly]::LoadWithPartialName("System.Printing")
    $print = New-Object -TypeName System.Printing.PrintQueueStatus



    • Изменено Vasily Larionov 30 марта 2014 г. 13:18
    • Помечено в качестве ответа KazunEditor 31 марта 2014 г. 5:01
    30 марта 2014 г. 13:16
  • Добавьте перед вызовом "$print = New-Object -TypeName System.Printing.PrintQueueStatus" строку "[System.Reflection.Assembly]::LoadWithPartialName("System.Printing")"


    Примерно так

    [System.Reflection.Assembly]::LoadWithPartialName("System.Printing")
    $print = New-Object -TypeName System.Printing.PrintQueueStatus



    Ответ

    GAC    Version        Location                                                                                                                          
    ---    -------        --------                                                                                                                          
    True   v4.0.30319     C:\Windows\Microsoft.Net\assembly\GAC_32\System.Printing\v4.0_4.0.0.0__31bf3856ad364e35\System.Printing.dll

    30 марта 2014 г. 14:19
  • Ну да, так и должно быть. Если хотите убрать этот вывод, то можно конвеером передать в Out-Null

    [System.Reflection.Assembly]::LoadWithPartialName("System.Printing")|Out-Null

    Суть изначальной ошибки в том, что у вас не было загружено пространство имен System.Printing. Теперь код

    $print = New-Object -TypeName System.Printing.PrintQueueStatus

    должен отрабатывать без ошибок.

    30 марта 2014 г. 14:44