Я использовал 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 через поиск в (огромном) списке.
Я также читал эти (и другие) статьи, и, насколько я могу судить, это не моя проблема:
- .NET 5 не может быть выбран как Target Framework в VS2019, эталонные сборки не найдены
- Как добавить UIAutomationClient .dll и UIAutomationTypes.dll в проект .Net Core 5.0?
На этом я как бы в тупике. Как я могу создать проект (Windows), который я могу добавить в пространство имен автоматизации?
Хорошо, поэтому после того, как я разместил этот вопрос, я проверял теги и заметил, что в описании тегов .net-5 указано `` Следующая версия .Net Core ... '', что означало бы, что я не могу добавить сборку, потому что я на самом деле используя .Net Core, хотя я этого не осознавал. Если это так, то моя проблема / вопрос по-прежнему аналогичны: Как я могу:
- Получить и использовать не-Core Net Framework? Или,
- Добавить сборку автоматизации в мой проект .Net 5.0?
Еще одна странная вещь, которую я заметил, это то, что мои проекты vs2015, которые я сейчас использую в vs2019, имеют функции сборок и используют .Net 4.5.2, а в свойствах проекта есть раскрывающийся список, который позволяет мне изменить его на кучу разные версии 4.xx, хотя мой новый проект vs2019 предлагает только .Net 3.5 Core и .Net 5.0, а раскрывающиеся списки их проектов предлагают только три основных фреймворка в качестве опций.