根據官方對屬性頁的介紹(General Property Page (Project))可了解:
target platform是build后的結果會跑在哪個平台,例如windows,android,OS。。詭異的是對windows的描述:如果這里顯示win10,則指的是universal windows platform; 如果你target earlier version windows, 就會顯示個windows..估計在這大家都會以往這是給你做了規范讓你2選1,但官網后邊馬上跟一句:這個target platform吧,你創建項目時就已經訂好了,不可改 -寫到這自己也算明白了,估計這針對的是新建project那種、當然不是新建project那種也可涵蓋:基本都會有個metadata在項目設置里邊了。。所以讀到這里,估計您也清楚了、此處不詭異。8-)
target platform version, 這個顧名思義就是想跑在具體哪個版本的windows上。。實際官網還真不是這么說的,“For the Windows platform, specifies the version of the Windows SDK that your project builds with”(當然驅動開發估計用wdk來代替sdk說明,更合適點?)。。后邊那段就好理解了,怎樣支持win7、乃至xp的開發。。
聯系web虎所用2個64位驅動:到底在build時要生成幾個版本? - web虎 - 博客園 ,自己理解並嘗試的:toolset你可選擇最新的,因為它可涵蓋前邊多個版本windows驅動的開發,但再次提醒注意,它支持支持開發,並沒說支持你 build1次就生成可支持多個版本windows的驅動了!
綜上,vs2015支持開發目標為win7sp1以后的windows驅動,如下表
windows驅動版本 | 所需要的wdk | Target Platform Version | toolset | 備注 |
win10(win2016) | wdk10+ | 10.* | WindowsKernelModeDriver10.0 | |
win8.1~win7sp1(win2012~win2008) | wdk8+ | 8.1 | WindowsKernelModeDriver8.1 | |
備注:
Building a Driver with the WDK | Microsoft Docs 說 vs2015也支持build win7的driver。
這篇更猛,說還能支持xp開發: Configuring Programs for Windows XP | Microsoft Docs