2015-07-17 4 views
3

Мне нужно работать с конкретным типом драйверов для Windows 10. Получение и установка WDK 10.0.10075 не представляет проблемы. У меня была установлена ​​Visual Studio 2013 Pro до установки WDK.Возможно ли интегрировать Windows WDK с Visual Studio 2013?

Как интегрировать WDK в Visual Studio? Я знаю, что Visual Studio 2015 RC доступен, но я бы предпочел использовать IDE Visual Studio 2013 на данный момент, а Windows driver samplesсодержит решения Visual Studio 2013.

Однако, когда я открываю решение и попытаться построить его, я получаю:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB8020: The build tools for WindowsKernelModeDriver10.0 (Platform Toolset = 'WindowsKernelModeDriver10.0') cannot be found. To build using the WindowsKernelModeDriver10.0 build tools, please install WindowsKernelModeDriver10.0 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...". 
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 

Полный текст в цитате для более удобного чтения:

error MSB8020: The build tools for WindowsKernelModeDriver10.0 (Platform Toolset = 'WindowsKernelModeDriver10.0') cannot be found. To build using the WindowsKernelModeDriver10.0 build tools, please install WindowsKernelModeDriver10.0 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...".

Unsurprisingly я не получаю «Обновить решение ...» в качестве опции в контекстном меню решения, и я не вижу его в подменю «Проект» в главном меню.

Есть ли способ сделать набор инструментов Windows 10 WDK известным для MSBuild таким, чтобы Visual Studio 2013 мог его обработать?


Так винда 10 WDK регистрирует себя в C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140 (в отличие от V120 для 2013 материала VS, я предполагаю, что кто-то было суеверно об использовании внутренней номера версии 13.x для VS 2015?).

В первую очередь я попытался сделать резервную копию C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140 и C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120 соответственно.

Затем я объединил файлы и папки из под v140 в v120. Кстати, нет файлов.

Попытка построить еще раз, используя это, я получил другую ошибку:

1>C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.common.targets(178,5): error : An SDK corresponding to WDK version '' was not found. Please install the SDK before building. 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

В блок цитаты:

error : An SDK corresponding to WDK version '' was not found. Please install the SDK before building.

многообещающий. Я еще не установил соответствующий SDK. Поэтому я пошел и сделал это (Windows 10 SDK 10.0.10069). К сожалению, сообщение об ошибке остается неизменным после установки этого SDK.

ответ

1

Образцы онлайн должны быть для VS 2015 RC. Многие образцы даже были преобразованы в универсальные образцы драйверов.

Для драйверов режима ядра это должно быть возможным путем перемещения различных файлов MSBuild и редактирования некоторых из них, что похоже на то, что вы пытались сделать. Обратите внимание, что это официально не поддерживается. Для драйверов пользовательского режима маловероятно, что он будет работать. Windows WDK имеет зависимость от соответствующей версии SDK, и из-за всех изменений, которые были внесены для поддержки разработки универсальных приложений и драйверов, SDK тесно связан с VS 2015.

В наборе инструментов MSBuild есть также набор свойств, которые предполагается определить, и некоторые из них будут определены только в том случае, если вы используете VS 2015.

Обратите внимание, что ваши версии SDK и WDK должны совпадать. SDK 10.0.10069 не соответствует версии WDK 10.0.10075.

+0

Хм, не новее SDK был доступен в то время я разместил мой вопрос, несмотря на обновление проверки (эрго нет соответствия версий). Также в файле '.sln' указано' # Visual Studio 2013' и 'VisualStudioVersion = 12.0', а проект показывает' ToolsVersion = "12.0", предлагая, чтобы это было/было создано и поддерживается с Visual Studio 2013. Это все кажется немного грязным для разработчиков на данный момент. Все-таки ответ затрагивает некоторые моменты, спасибо. – 0xC0000022L

+0

Я посмотрел образцы, и хотя у них есть ToolsVersion = "12.0" (это неправильно), они являются новыми образцами Win 10. Они содержат свойства MSBuild, которых не было в WDK 8.1, поэтому они не будут работать с предыдущим WDK. –

+0

просто угадывая, как вы написали свой ответ, интересно, знаете ли вы (или можете спросить вокруг) относительно [этого вопроса] (http://stackoverflow.com/q/35940134). Даже запрос поддержки не дал никаких результатов *. – 0xC0000022L

-1

$ (LatestTargetPlatformVersion) вместо жёстко версии TargetPlatform как 10 или 8.1