设备驱动程序未安装在任何设备上,如果打算在 Visual studio 2019 年使用原始驱动程序?

Device driver does not install on any devices, use primitive driver if this is intended in Visual studio 2019?

我将我的 Visual Studio 从 2017 升级到 2019,他们似乎对最新版本的 visual studio 做了一些很棒的更改,因为我在 VS 2017 中没有这个问题,甚至编译随处可见的简单 hello world 驱动程序不再编译,它们会出现以下错误:

Device driver does not install on any devices, use primitive driver if this is intended

似乎与默认 INF 文件有关:

https://github.com/MicrosoftDocs/windows-driver-docs/issues/2067

但是那里的答案毫无用处,并且没有提到对 INF 文件的更改有帮助,这是我的 INF 文件,它是 VS 2019 上的默认 INF:

;
; HelloWorld.inf
;

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%ManufacturerName%
DriverVer=
CatalogFile=HelloWorld.cat
PnpLockDown=1

[DestinationDirs]
DefaultDestDir = 12


[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]


[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$

[Standard.NT$ARCH$]


[Strings]
ManufacturerName="<Your manufacturer name>" ;TODO: Replace with your manufacturer name
ClassName=""
DiskName="HelloWorld Source Disk"

我应该如何更改它?

要解决该问题,只需从 visual studio 中删除 inf 文件并重新编译即可。

这是由 Windows 10 1903 中新的“原始驱动程序”概念引起的。目的是显式建模实际上与设备无关的驱动程序。有关详细信息,请参阅 Microsoft Documentation on Primitive Drivers

您的 inf 包含 none 个有迁移说明的部分,但它有 Manufacturer 个部分,原始驱动程序不允许这样做。删除它,验证可能会成功。