Migrating driver project from VS2013 to VS2015 community - visual-studio

Long time reader first time poster here.
I'm a Linux developer trying to get started on Windows development in my new job. I knew it would not be trivial but the first thing I'm trying to do is complete and integrate a netvmini port driver (started by a co-op student) into one of their C++ apps. I am struggling to get the build environment going...
The project was started in Visual Studio 2013 with a Windows 7 target. When I now open it in Visual Studio 2015 and try to build the solution I get:
"Unknown or unsupported property value Win7 for TargetVersion"
for each project. This also happens if I set the configuration to Win8 (both release and debug). If I set it to Win 8.1 I get:
"An SDK corresponding to WDK version '8.1' was not found. Please install the SDK before building"
I have installed every WDK and SDK I can lay my hands on from Windows 7 to Windows 10 using both the web and the VS2015 installer. I have even installed Visual Studio 2013 again but I can't even seem to get the WDK to integrate with that.
The end goal here is to be able to build this (and hopefully debug remotely in kernel mode) from my Windows 10/VS2015 workstation for targets from Windows 7-10. Any advice or documentation that details how to integrate new build platforms into VS would be helpful (all the MS documentation just tells me what I can do if I install this or that, but not HOW to do it)

I also had the same problem after running the Project Upgrade tool.
I discovered when making new configurations that "Win7" and "Win8" TargetVersion are now "Windows7" and "Windows8".
The upgrade tool does not make that change for you but I was able to manually edit my upgraded project with those changes and got it to build for all targets.

I discovered that the installer doesn't install the windows 10 SDK by default. So all the installing of other SDK's was useless. I Also found out that by installing the Win 10 SDK through the VS 2015 installer it integrates and allows me to build for targets back to windows 7 in VS 2015.

Related

Windows Runtime metadata is invalid in SDK - ITIL00005

I can compile my UWP app built with Xamarin in Debug-mode, but when I try to compile it using Release->ARM mode, these errors occurs
ILT0005: 'C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\ARM\ilc\tools\Gatekeeper.exe #"C:\Users\Source\app\project.UWP\obj\ARM\Release\ilc\intermediate\gkargs.rsp"' returned exit code 1
Error: Windows Runtime metadata is invalid in Windows SDK, follow the steps in http://go.microsoft.com/fwlink/?LinkId=733341 to repair your installation.
I tried to reinstall using the Windows Software Development Kit - Windows 10.0.10586.212 and Windows Software Development Kit - Windows 10.0.26624.
Shall I have both Development Kits?
Or which one do I have to remove?
Or what can cause the problem?
And how shall I fix it?
I am running Microsoft Visual Studio 2015 Enterprise Update 2 and Windows 10 Pro version 1511.
I have tried this, but without success, as I am running Visual Studio in English.
My target and min. version is set to Windows 10 (10.0; Build 10240)
If you remove all Windows SDK's, you can let Visual Studio download them, which worked for me.
Otherwise you can download the Windows SDK's and install it.

Visual Studio Cordova App, can't run debugger - Could not locate the appxrecipe file

If I create a brand new Cordova project (JavaScript or TypeScript) and try to debug on Ripple or on the local machine I get an error during build that says "Could not locate the appxrecipe file."
I googled it and nothing comes up. What is this file and how does it get generated? Shouldn't it be generated when I create the project?
I've already lost an entire day to this, running repairs on visual studio and trying things that had no effect. Frustrating!
This took a while to figure out but it seems that the version of node.js that would get installed with Visual Studio was too old (0.10.x). When I installed the x64 version of node.js from the node website, it installed a 64 bit version which also wouldn't work with Cordova in Visual Studio.
The answer was to install the 32bit version of node.js (node-v5.1.0-x86.msi) available from their website. Now everything compiles correctly!
I was also stucked with the issue but my problem was little bit different. I wanted to build a project for Windows 10 Mobile platform.
It was really weird because everytime when I tried to build a project from CLI with ionic build windows, the build was successul. But it had been throwing the error about appxrecipe file while building with Visual Studio again and again.
Then I noticed that everytime I open a project in Visual Studio (2015, Community Edition) there is one change when you open your confix.xml file in Visual Studio editor - the change was that Windows Target Version was set to 8.1 again. I tried to change it to Windows 10 again, save it and build but the error was still there.
I have solved it with installation of Microsoft Emulator for Windows 10 Mobile and it works like a charm now. Maybe this information could be helpful for somebody...

VS2015 Unable to Create New Windows 10 UWP Project or Build Existing Windows UWP Samples

When I try to create a new Windows 10 UWP, or open or build existing samples or projects, I get the following error:
The imported project "C:\Program Files
(x86)\MSBuild\Microsoft\WindowsXaml\v14.0\8.2\Microsoft.Windows.UI.Xaml.CSharp.targets"
was not found. Confirm that the path in the declaration is correct,
and that the file exists on disk
I am running VS2015 Enterprise on Windows 10 Pro. Windows 10 SDK (10240) and Emulators installed. Have re-installed VS2015 several times without luck. There is no v14.0\8.2 folder on my machine. Tried to copy the v14.0\8.1 folder to create v14.0\8.2 folder but this only allows you to load the project or create new ones, but build fails. This is driving me crazy.
Note: An earlier install of same VS2015 ISO and SDK on Windows 10 Enterprise Evaluation was running successfully until I had to re-format a few days ago when I upgraded my Windows 7 to Windows 10 Pro. I have now also tried to install a clean copy of Windows 10 Enterprise, re-install VS2015 with SDK and emulators, and yet no luck. Same error keeps repeating.
Any suggestions on where/how to create the v14.0\8.2 folder would be appreciated.
The solution is to navigate to Control Panel | Uninstall a program and to select Visual Studio 2015. This allows you modify you existing Visual Studio 2015 installation. When you install, it is recommended to select the "install all" features which added the templates.
This blog should be helpful for you.
Besides, what's the exact version of VS2015 and Win10 you installed?

Cannot load shared 'project' in Windows Universal app after upgrading to Azure SDK 2.6

I've just installed the April 2015 release of the Azure SDK. It is version 2.6 and previously I was on 2.5. Now one of my projects will not load. It is the shared project in a Windows Universal application.
When I right-click the project and choose 'reload' I get the pop-up error
The method or operation is not implemented
The output window gives more detail:
Things.Shared.shproj : error : The composition produced a single
composition error. The root cause is provided below. Review the
CompositionException.Errors property for more detailed information.
1) No exports were found that match the constraint:
ContractName Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
RequiredTypeIdentity Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
Resulting in: Cannot set import
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")'
on part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
Resulting in: Cannot get export
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")'
from part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
The other parts to the Windows Universal app (the Windows 8.1 project and the Windows Phone 8.1 project) have two Azure NuGet packages installed: Windows Azure Mobile Services 1.3.2 and Windows Azure Storage 4.3.0. (N.B. Those two projects load without issue.)
This is not a show stopper for me since uninstalling the Azure SDK 2.6 removes the load failure. To uninstall I go via the Control Panel to 'uninstall or change a program' and then uninstall Microsoft Azure Tools for Microsoft Visual Studio 2013 - v2.6
I would like to know how to fix this without uninstalling the Azure SDK 4.6.
Over on the Azure Mobile Services forum Chuck Weininger has posted the following answer:
The [fixed] build of Azure SDK 2.6 is now available, but it may not have
propagated to all download servers yet.
You can run the Web Platform Installer and if you don’t have the new
build installed, it should allow you to install 2.6 again. But it
might not if you are accessing a download server that doesn’t have the
new bits yet. If WebPI doesn't allow you to install 2.6 again, then
wait a few hours and try again.
The build number for the version with the fixes is build
2.6.30508.1601. You can identify the build of the SDK from Control Panel -> Programs and Features -> Microsoft Azure Tools for Microsoft
Visual Studio 2013 – v 2.6. The Version column will display the build
number
I have followed Chuck's instructions and have the new build and the shared project now loads without issue.
We have been able to reproduce the issue, but don't have a workaround at this time. If you want to use the Universal App projects with VS 2013, you will have to uninstall Azure SDK for VS 2.6. The issue does not happen on VS 2015 RC if you would like to give that a try. We hope to have news soon about how we can get a fix for this issue on VS 2013.
Chuck Weininger, Dev Lead, Microsoft
https://social.msdn.microsoft.com/Forums/en-US/e8123821-dcb1-477f-a746-f6f016a724ea/cannot-load-shared-project-in-windows-universal-app-after-upgrading-to-azure-sdk-26?forum=azuremobile&prof=required#de621720-3afc-458c-ba85-f691be9e74c1

How to start writing DDK code ?

I want to write some simple code using DDK - but i don't know even how to compile some demo code that i download.
How to compile this thing ?
Is there some simple editor / IDE that i can use ?
Is there some way to use visual studio to write and compile DDK ?
Generally the WDK consists of a command-line tools. No IDE or etc. However with some efforts it's possible to setup the MS standard IDE (MSVC2005/2008/2010).
First download and install the latest WDK package (from the official MS website). Go into
StartMenu -> Windows Driver Kits -> WDK xxxx.xxxx.x -> Build Environments.
There you'll find a list of build environments. Each one is just a shortcut to cmd.exe, with plenty of environmental variables set accordingly. Those are build environments for different Windows version, plus for each you have a free/checked configurations, which is equivalent to user-mode's Release/Debug builds.
In order to build the driver you should launch one of those shortcuts. Then, in the command prompt, go into the source code's directory and run build batch command. The rest is determined by the makefile residing in the selected directory.
It is possible nevertheless to use the standard IDE for driver development. That is, use vcproj (or vcxproj in MSVC2010) instead of makefile. This however requires setting many build parameters.
Currently there are two main paths to choose from:
1. For drivers running on Windows 7 and above:
Since Visual Studio 2013, you can use Visual Studio's built-in integration for working with WDK projects, which is a full blown IDE for driver development.
Sample screenshot from Visual Studio 2015 + WDK 10:
There is also a short guide from Microsoft on what one needs to get started. The guide includes links to downloads of Visual Studio, WDK and samples - Get started with Windows 10, Visual Studio, and the WDK:
Used together, Visual Studio 2015 and WDK 10 provide an integrated
development environment for creating efficient, high-quality drivers
for devices running Windows 10. This release of Visual Studio includes
the Visual Studio Tools for Windows 10 and the Microsoft Windows
Software Development Kit (SDK) for Windows 10.
In short you need to install Visual Studio 2015 with Update 1 and WDK 10. Your OS need to be Windows 7 or newer (desktop only, not server).
2. For drivers running on Windows XP:
If you need to stick with older WDK 7.1 (eg. for Windows XP support), then this guide from Donald D. Burn can be a good start - Getting Started with Windows Driver Development:
WDK MVP Donald D. Burn shares his experience and insights about tools
for creating a device driver for Microsoft Windows, with information
about debugging, testing tools, and techniques that can help you find
and fix bugs early in development.
...
Updated with changes to the tools, build environment, and best
practices from the Windows Server 2003 Service Pack 1 Windows Driver
Kit (WDK) to the Windows Driver Kit (WDK) Version 7.1.
Choosing this path usually requires compiling drivers in command line via Build Environments, as described by valdo's answer. As for coding you can use an editor of your choice.

Resources