【问题标题】:How to add Windows.Automation assembly to my .Net 5.0 project?如何将 Windows.Automation 程序集添加到我的 .Net 5.0 项目中?
【发布时间】: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。

我也阅读了这些文章(和其他文章),据我所知,这些不是我的问题:

在这一点上,我有点难过。如何创建可以添加到自动化命名空间的(windows)项目?


好的,所以在我发布这个问题后,我正在检查标签并注意到 .net-5 标签的描述说“.Net Core 的下一个版本......”,这意味着我无法添加组装,因为我实际上正在使用 .Net Core,即使我没有意识到这一点。如果是这样,那么我的问题/问题仍然是相似的:我该怎么做:

  1. 获取和使用非核心 .Net 框架?或者,
  2. 将自动化程序集添加到我的 .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


    【解决方案1】:

    好的,我想我已经弄清楚了问题所在以及如何解决它。

    显然问题在于,当我在 VS2019 中创建一个新项目并选择“C# Windows Forms App”时,允许您制作一个 .Net Core 应用程序。模板列表的下方是“C# Windows Forms App (.NET Framework)”选项,您现在必须选择它才能使用完整的 .Net 框架。

    当然以前从未见过这个选项(因为列表的格式非常糟糕,所以你一次只能看到五个选项)我不知道这种区别,也不知道他们为什么不注释核心版本使用“(核心)”,所以从一开始就很明显。 (####)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-06
      • 2018-01-23
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      相关资源
      最近更新 更多