如何将 Windows.Automation 程序集添加到我的 .Net 5.0 项目中?
How to add Windows.Automation assembly to my .Net 5.0 project?
作为专业开发人员,我使用 Visual Studio 和 .Net 的时间相当长。去年我退休了,有了自己的 PC,安装了 VS2019(社区,v 16.9.5),并且能够转换我的一些个人项目(来自 vs2015)并毫无问题地编辑和使用它们。然而,今天我尝试做一个新项目,运行陷入了一个令人费解的问题
我想创建一个项目来尝试和学习 System.Windows.Automation
命名空间中的 AutomationElement
功能。因此,我创建了一个新的 c# Windows Form 项目,并尝试在 Form1 代码中添加 using System.Windows.Automation;
行。但是 intellisense 找不到“.Automation”部分,IDE 将其标记为丢失。所以我想我会添加它。
但是vs2019这方面的界面有点不一样,我找到Reference Manager后,没有“Assemblies”选项卡?!?于是我Google求答案,并阅读了几篇文章,包括:
这些似乎表明问题在于您无法使用.Net Core 添加程序集。但是我检查了一下,我的项目使用的是 .Net 5.0 而 not .Net Core 3.0 或 .Net Core 3.1(这些是我唯一的选择)。所以我删除了项目并重新创建,确保选择“.Net 5(当前)”作为框架。同样的结果。
所以 google 又读了一些文章,比如这篇文章:
这似乎表明我需要改用 Nugent Manager。所以我尝试了,但是这些看起来像第三方包,我无法通过搜索(巨大的)列表找到 System.Windows.Automation。
我也阅读了这些文章(和其他文章),据我所知,这些不是我的问题:
- How to add UIAutomationClient.dll and UIAutomationTypes.dll to .Net Core 5.0 project?
在这一点上我有点难过。如何创建可以添加到自动化命名空间中的 (windows) 项目?
好的,所以在我发布这个问题之后,我检查了标签并注意到 .net-5 标签的描述是“.Net Core 的下一个版本......”,这意味着我不能添加程序集,因为我实际上正在使用 .Net Core,尽管我没有意识到。如果是这样的话,那我的problem/question还是类似的:我怎么可以:
- 获取并使用非核心 .Net 框架?或者,
- 将自动化程序集添加到我的 .Net 5.0 项目中?
我注意到的另一件奇怪的事情是,我现在在 vs2019 中使用的 vs2015 项目确实具有程序集功能,并且正在使用 .Net 4.5.2,并且项目属性有一个下拉列表,允许我更改它有很多不同的 4.x.x 版本,尽管我的新 vs2019 项目只提供 .Net 3.5 Core 和 .Net 5.0,而且他们的项目下拉列表只提供三个核心框架作为选项。
好的,我想我已经弄清楚问题是什么以及如何解决了。
显然问题是,当我在 VS2019 中创建一个新项目并选择“C# Windows Forms App”时,仅 允许您制作一个 .Net核心应用程序。在模板列表的更下方是选项“C# Windows Forms App (.NET Framework)”,这似乎是您现在必须选择的选项才能被允许使用完整的 .Net 框架。
当然以前从未见过这个选项(因为列表很大,格式很差,所以你一次只能看到五个选项)我不知道这种区别,也不知道他们为什么不注释核心-只有带有“(核心)”的版本,所以从一开始就很明显。 (####)
作为专业开发人员,我使用 Visual Studio 和 .Net 的时间相当长。去年我退休了,有了自己的 PC,安装了 VS2019(社区,v 16.9.5),并且能够转换我的一些个人项目(来自 vs2015)并毫无问题地编辑和使用它们。然而,今天我尝试做一个新项目,运行陷入了一个令人费解的问题
我想创建一个项目来尝试和学习 System.Windows.Automation
命名空间中的 AutomationElement
功能。因此,我创建了一个新的 c# Windows Form 项目,并尝试在 Form1 代码中添加 using System.Windows.Automation;
行。但是 intellisense 找不到“.Automation”部分,IDE 将其标记为丢失。所以我想我会添加它。
但是vs2019这方面的界面有点不一样,我找到Reference Manager后,没有“Assemblies”选项卡?!?于是我Google求答案,并阅读了几篇文章,包括:
这些似乎表明问题在于您无法使用.Net Core 添加程序集。但是我检查了一下,我的项目使用的是 .Net 5.0 而 not .Net Core 3.0 或 .Net Core 3.1(这些是我唯一的选择)。所以我删除了项目并重新创建,确保选择“.Net 5(当前)”作为框架。同样的结果。
所以 google 又读了一些文章,比如这篇文章:
这似乎表明我需要改用 Nugent Manager。所以我尝试了,但是这些看起来像第三方包,我无法通过搜索(巨大的)列表找到 System.Windows.Automation。
我也阅读了这些文章(和其他文章),据我所知,这些不是我的问题:
- How to add UIAutomationClient.dll and UIAutomationTypes.dll to .Net Core 5.0 project?
在这一点上我有点难过。如何创建可以添加到自动化命名空间中的 (windows) 项目?
好的,所以在我发布这个问题之后,我检查了标签并注意到 .net-5 标签的描述是“.Net Core 的下一个版本......”,这意味着我不能添加程序集,因为我实际上正在使用 .Net Core,尽管我没有意识到。如果是这样的话,那我的problem/question还是类似的:我怎么可以:
- 获取并使用非核心 .Net 框架?或者,
- 将自动化程序集添加到我的 .Net 5.0 项目中?
我注意到的另一件奇怪的事情是,我现在在 vs2019 中使用的 vs2015 项目确实具有程序集功能,并且正在使用 .Net 4.5.2,并且项目属性有一个下拉列表,允许我更改它有很多不同的 4.x.x 版本,尽管我的新 vs2019 项目只提供 .Net 3.5 Core 和 .Net 5.0,而且他们的项目下拉列表只提供三个核心框架作为选项。
好的,我想我已经弄清楚问题是什么以及如何解决了。
显然问题是,当我在 VS2019 中创建一个新项目并选择“C# Windows Forms App”时,仅 允许您制作一个 .Net核心应用程序。在模板列表的更下方是选项“C# Windows Forms App (.NET Framework)”,这似乎是您现在必须选择的选项才能被允许使用完整的 .Net 框架。
当然以前从未见过这个选项(因为列表很大,格式很差,所以你一次只能看到五个选项)我不知道这种区别,也不知道他们为什么不注释核心-只有带有“(核心)”的版本,所以从一开始就很明显。 (####)