Visual Studio 2010 перечисляет класс как «неопределенный тип», когда MSDN утверждает, что он существует - PullRequest
0 голосов
/ 18 сентября 2011

Надеюсь, это будет один из тех простых ответов, которые настолько просты, что их трудно найти с помощью поиска (как большинство моих проблем с программированием в наши дни)

В настоящее время я пытаюсь создать сценарий VB.Net, который извлекает информацию об установленных принтерах. Я использую Visual Studio 2010 с пакетом обновления 1 (SP1), и поскольку моя целевая программа должна работать на старых компьютерах, в настоящее время она создается с использованием .Net 3.5.

Если посмотреть в Интернете, есть несколько способов сделать это, один из http://www.dotnetcurry.com/ShowArticle.aspx?ID=148 использует следующий код:

Dim oquery As System.Management.ObjectQuery = New System.Management.ObjectQuery("SELECT * FROM Win32_Printer")

Dim mosearcher As System.Management.ManagementObjectSearcher = New System.Management.ManagementObjectSearcher(oquery)

Dim moc As System.Management.ManagementObjectCollection = mosearcher.Get()

For Each mo As ManagementObject In moc
Dim pdc As System.Management.PropertyDataCollection = mo.Properties

    For Each pd As System.Management.PropertyData In pdc
        If CBool(mo("Network")) Then
            cmbPrinters.Items.Add(mo(pd.Name))
        End If
    Next pd
Next mo

код должен использовать System.Management, как вы можете видеть. Однако после импорта System.Management Visual Studio выдает ошибку и заявляет, что ObjectQuery, ManagementObjectSearcher и ManagementObject не определены.

быстрый взгляд на форумах MSDN показывает , что ObjectQuery - это класс .Net 4, 3.5, 3.0 и 2.

Я полагал, что ошибка может быть в том, что у меня не установлен .Net 3.5 SDK, поэтому я установил .Net 3.5 SP1 SDK безрезультатно.

edit: просто чтобы прояснить, я импортирую System.Management вверху "Imports System.Management"

1 Ответ

2 голосов
/ 18 сентября 2011

Дважды убедитесь, что ваша ссылка на «System.Management» верна. Убедитесь, что файл «System.Management.dll» включен правильно и над именем нет предупреждающего треугольника.

Open the references section

Страница MSDN для System.Management.ObjectQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...