【发布时间】:2021-08-20 19:25:13
【问题描述】:
只要 Visual Studio 和 .Net 存在,我就一直使用它们作为专业开发人员。去年我退休了,拥有了自己的 PC,安装了 VS2019(Community,v 16.9.5),并且能够转换我的一些个人项目(来自 vs2015)并毫无问题地编辑和使用它们。然而,今天我尝试做一个新项目,却遇到了一个令人困惑的问题。
我想创建一个项目来尝试和学习 System.Windows.Automation 命名空间中的 AutomationElement 功能。因此,我创建了一个新的 c# Windows Form 项目并尝试在 Form1 代码中添加 using System.Windows.Automation; 行。但智能感知找不到“.Automation”部分,IDE 将其标记为缺失。所以我想我会添加它。
但是vs2019在这方面的界面有些不同,一找到Reference Manager,就没有“Assemblies”选项卡了?!?于是我谷歌了答案,并阅读了几篇文章,包括:
这些似乎表明问题在于您无法使用 .Net Core 添加程序集。但我检查了一下,我的项目使用的是 .Net 5.0 和 not .Net Core 3.0 或 .Net Core 3.1(这些是我唯一的选择)。所以我删除项目并重新创建,确保选择“.Net 5 (Current)”作为框架。结果一样。
所以谷歌了一些,我又读了一些文章,比如这篇:
这似乎表明我需要改用 Nugent 管理器。所以我尝试了,但这些看起来像第三方包,我无法通过搜索(巨大的)列表找到 System.Windows.Automation。
我也阅读了这些文章(和其他文章),据我所知,这些不是我的问题:
- .NET 5 cant be selected as Target Framework in VS2019, reference assemblies not found
- How to add UIAutomationClient.dll and UIAutomationTypes.dll to .Net Core 5.0 project?
在这一点上,我有点难过。如何创建可以添加到自动化命名空间的(windows)项目?
好的,所以在我发布这个问题后,我正在检查标签并注意到 .net-5 标签的描述说“.Net Core 的下一个版本......”,这意味着我无法添加组装,因为我实际上正在使用 .Net Core,即使我没有意识到这一点。如果是这样,那么我的问题/问题仍然是相似的:我该怎么做:
- 获取和使用非核心 .Net 框架?或者,
- 将自动化程序集添加到我的 .Net 5.0 项目中?
我注意到的另一件奇怪的事情是,我现在在 vs2019 中使用的 vs2015 项目确实具有程序集功能,并且使用的是 .Net 4.5.2,并且项目属性有一个下拉菜单,允许我将其更改为一堆不同的 4.xx 版本,尽管我的新 vs2019 项目仅提供 .Net 3.5 Core 和 .Net 5.0 并且它们的项目下拉列表仅提供三个 Core 框架作为选项。
【问题讨论】:
标签: .net visual-studio visual-studio-2019 .net-5