Как добавить сборку Windows.Automation в мой проект .Net 5.0?

Я использовал Visual Studio и .Net как профессиональный разработчик с тех пор, как они существуют. В прошлом году я вышел на пенсию, получил свой собственный компьютер, установил VS2019 (Community, v 16.9.5) и смог конвертировать некоторые из моих личных проектов (из vs2015), редактировать и использовать их без проблем. Однако сегодня я попытался создать новый проект и столкнулся с непонятной проблемой.

Я хотел создать проект, чтобы поиграть и изучить возможности AutomationElement в пространстве имен System.Windows.Automation. Поэтому я создал новый проект Windows Form на C # и попытался добавить строку using System.Windows.Automation; в код Form1. Но intellisense не может найти часть .Automation, и IDE помечает ее как отсутствующую. Думаю, я просто добавлю это.

Но интерфейс vs2019 в этой области несколько отличается, и как только я нахожу Диспетчер ссылок, вкладки «Сборки» нет?!? Я ищу ответ в Google и прочитал несколько статей, в том числе:

Похоже, это указывает на то, что проблема в том, что вы не можете добавлять сборки с .Net Core. Но я проверяю, и мой проект использует .Net 5.0, а не .Net Core 3.0 или .Net Core 3.1 (это единственный выбор, который у меня есть). Поэтому я удаляю проект и создаю заново, выбирая .Net 5 (Current) в качестве фреймворка. Тот же результат.

Итак, погуглите еще немного, и я прочитал еще несколько статей, например эту:

что, кажется, предполагает, что мне нужно вместо этого использовать Nugent Manager. Итак, я пробую это, но они выглядят как пакеты сторонних производителей, и я не могу найти System.Windows.Automation через поиск в (огромном) списке.

Я также читал эти (и другие) статьи, и, насколько я могу судить, это не моя проблема:

На этом я как бы в тупике. Как я могу создать проект (Windows), который я могу добавить в пространство имен автоматизации?


Хорошо, поэтому после того, как я разместил этот вопрос, я проверял теги и заметил, что в описании тегов .net-5 указано `` Следующая версия .Net Core ... '', что означало бы, что я не могу добавить сборку, потому что я на самом деле используя .Net Core, хотя я этого не осознавал. Если это так, то моя проблема / вопрос по-прежнему аналогичны: Как я могу:

  1. Получить и использовать не-Core Net Framework? Или,
  2. Добавить сборку автоматизации в мой проект .Net 5.0?

Еще одна странная вещь, которую я заметил, это то, что мои проекты vs2015, которые я сейчас использую в vs2019, имеют функции сборок и используют .Net 4.5.2, а в свойствах проекта есть раскрывающийся список, который позволяет мне изменить его на кучу разные версии 4.xx, хотя мой новый проект vs2019 предлагает только .Net 3.5 Core и .Net 5.0, а раскрывающиеся списки их проектов предлагают только три основных фреймворка в качестве опций.


person RBarryYoung    schedule 02.06.2021    source источник


Ответы (1)


Хорошо, я думаю, что понял, в чем проблема и как ее решить.

По-видимому, проблема в том, что когда я создаю новый проект в VS2019 и выбираю приложение C # Windows Forms, которое только позволяет создавать приложение .Net Core. Гораздо дальше в списке шаблонов находится вариант C # Windows Forms App (.NET Framework), который, по-видимому, вам теперь нужно выбрать, чтобы иметь возможность использовать полную структуру .Net.

Конечно, я никогда раньше не видел эту опцию (потому что список огромен, плохо отформатирован, поэтому вы видите только пять опций за раз), я понятия не имел ни об этом различии, ни о том, почему они не аннотировали версию только для ядра с помощью (Core ) так что это было бы очевидно с самого начала. (####)

person RBarryYoung    schedule 02.06.2021