首页 > 解决方案 > Visual Studio 2019 - 找不到程序集“Windows”

问题描述

我正在尝试使用此 PoshWinRT .NET/Powershell 库如此博客文章此 SO 问题中所述。这以前在 Windows 7 上对我有用,但现在我在 Windows 10 上,因为我已经搬到新计算机上,所以我已经清除了构建期间缓存的程序集。

该代码使用了几个类,例如 Windows.Foundation.IAsyncAction,由于缺少“Windows”程序集而失败:

CS0012 类型“IAsyncAction”在未引用的程序集中定义。您必须添加对程序集“Windows,Version=255.255.255.255,Culture=neutral,PublicKeyToken=null,ContentType=WindowsRuntime”的引用。PoshWinRT D:\projects\PoshWinRT\PoshWinRT\AsyncActionWrapper.cs 21

以及关于该程序集的错误:

无法解析此引用。找不到程序集“Windows”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。

在右侧的解决方案资源管理器中,我的参考列表中的“Windows”依赖项显示了以下属性:

在此处输入图像描述

以上.winmd已被删除,但现在我不知道如何重新添加它。我尝试添加以下内容:

System.Windows
Windows.Foundation
Windows.Storage
Windows.System

但没有任何运气。如何重新添加“Windows”程序集?我猜想自从我上次使用这段代码以来,任何一个类都已经移动了,或者这可能是需要以某种特殊方式包含的本机代码的包装器。或者也许我没有安装正确的库。我已经安装了 VS WinRT 扩展,但这并没有帮助。

我应该说我希望在 pwsh (核心)中导入它,在它之前在 pre-core powershell 中运行。

标签: c#.net-core

解决方案


windows.winmdWindows 10 SDK的一部分。

在此处输入图像描述

您可以在下面找到已安装 SDK 的 Buildnumber 文件C:\Program Files (x86)\Windows Kits\10\


推荐阅读