VisualStudio XAML designer tell me i need build 19041 but it's already installed - visual-studio

I'm creating a windows desktop universal app (UWP) using Windows Template Studio on Visual Studio 2019 Community, on a Windows 10 Family Edition.
Windows and VS2019 were updated today (before creating this app).
After the project was created using WTS i have an error telling me (mine is in french so i'll try my best to translate) that : I need to upgrade to "windows 10, version 2004 (10.0.19041.0)" in order to display this content (aka : the XAML UI designer). However, the 19041 sdk is already installed. I can build and run the application just fine. It only a problem with the designer.
If i change the application property target to from 19041 to version 1903 (10.0 ; Build 18362) and reload the project, it works just fine.
I don't think i really need this 19041 (i hope so) but : what's happening and how to fix it ?

If you set the target version at 19041 (2004), this requires your development environment to be at least 19041. The SDK installed through Visual Studio contains some development tools corresponding to the platform, but UWP development usually requires some native resources (such as colors, control styles, etc.), and these resources will follow the system update.
So when you set the target version of the project to 19041, the target of some local resources referenced by the project is 19041. If your development environment is lower than this version, the designer will not be able to display.

Related

How do I set a different API contract to be used in Visual Studio for a Universal App?

I've retargeted my C++/CX UWP project to the latest Windows version (10.0.10586) available to me. However, under references, the Windows.Foundation.UniversalApiContract version shows 2.0.0.0, the latest is 3.0.0.0 introduced in 10.0.14393.0. I need to use the features in 3.0.0.0, but I can't figure out for the life of me how to use it. I've looked through the .vcxproj, and the appxmanifest and I can't find anything relevant. There's nothing I can find in the GUI either. How do I change the version?
You can set the target version in the project properties.
In the Project Properties editor it's in the config tab's Target Platform Version:
In the vcproj it's the WindowsTargetPlatformVersion:
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.10586.0</WindowsTargetPlatformMinVersion>
You'll need to have the 14393 SDK installed from https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk . If Visual Studio thinks 10586 is the latest then you probably don't have the updated SDK. You should also make sure you have the latest update to Visual Studio (2015 Update 3 or 2017 RC)

Displaying UWP project in Design mode without Anniversary edition

I wonder if it's possible to display XAML (in Design mode) in UWP without the Anniversary Edition. I have the 2017 RC edition but at my university the computers haven't been upgraded to the Anniversary edition. This means that all my code runs fine, but I can't display it in Design mode in Visual Studio.
Is there a setting (say in Properties or so) that fixes this? I guess that a solution would be to target an older version but I don't know if this is so, or how.
Thanks!
You can change the Target Version in Properties to the OS Build of your system to enable Design mode.
For example, if you are using a computer with November Update (Version 1511, OS Build 10586), then you can change Target Version to Windows 10 (10.0; Build 10586). Besides, you also need to make sure you have installed the corresponding Windows 10 SDK (10586) on your computer. After this you can reopen your project, the Design View should be able to work now.
However, please note that after downgrading the Target Version from Windows 10 Anniversary Edition (10.0; Build 14393), the app will can't use new features introduced in Anniversary Update. The Design View might still not work if you've used new features in your app.

Migrating driver project from VS2013 to VS2015 community

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.

Does Worlklight Studio really supports Windows 8.1?

I am working with Eclipse Kepler 4.3.2 and latest Worklight Studio downloaded and installed through Eclipse Marketplace (6.2.0.00-20140801-1709).
There are a lot of official IBM docs and web pages stating that WL 6.2 supports Win 8.1 hybrid store app development. At the same time, the IBM tutorials lead to complete the build cycle using MS Visual Studio 12 Express.
As long as I know, VS 12 targets Win 8 only, so VS 13 is needed to target Win 8.1 store apps.
So, after creating a new hybrid app, I add the Window 8 desktop and tablet environment (and the JSONStore optional feature also), then build that environment. At this point I use VS 2013 to open the .jsproj located in the windows8/native folder. VS 2013 notifies that the project must be retargeted from Windows 8 to Windows 8.1, then asks confirmation to make writable two read-only files: index.html and cordova.js. The reason for changing the content of these files during the migration from Win 8 to Win 8.1 is to change several references from "Microsoft.WINJS.1.0" to "Microsoft.WINJS.2.0".
At this point the Visual Studio project is fully functional, and also correctly runs on the Windows 8.1 tablet simulator. The noisy problem is that at every build of the windows8 environment Worklight regenerates index.html and cordova.js adding again the references to WinJS.1.0.
So, the question is: does the current Worlkight Studio version full supports Windows 8.1 development? Or, there is something wrong in my approach?
Worklight Studio is certified to work on Windows 8.1 using Visual Studio 2013.
From reading your question, and specificically this part:
At this point the Visual Studio project is fully functional, and also
correctly runs on the Windows 8.1 tablet simulator. The noisy problem
is that at every build of the windows8 environment Worklight
regenerates index.html and cordova.js adding again the references to
WinJS.1.0.
What I think is going on here is this:
You are creating your project in Worklight Studio and then open it in VS13 which then asks to migrate WinJS 1.0 to 2.0 and everything is working for you.
What you then do is re-build your project in Worklight Studio which brings back WinJS 1.0 as well as index.html
If you do changes in Visual Studio but do not bring them back into Eclipse, then your changes from VS will be lost. That is expected, because you are working with 2 IDEs, so you need to make sure that you copy back your code.
The template for a Windows8 app from Worklight Studio seems to be generating WinJS 1.0 regardless of targetting VS12 or VS13
So the only issue here is 2 above. It is worth investigating and it will be.
As for a "workaround", as long as you properly manage your code in 1, 2 should not prevent anything as you will still be given the option in VS to migrate to WinJS 2.0; it's an annoynace, though.

Windows Media Services development in VS2012 (C++)

I have an application that creates WMSPublishingPoint. After migration to VS2012 (from VS2010) I can't compile the project due to studio can't see 'wmsserver.h' file.
This file is shipped with WindowsSDK 7.1, but there is no such file in SDK for Windows 8.
If I choose platform toolset vs110_xp - it's OK. But I need the v110 toolset.
Here is a link which confirm that developers can use wmsserver.h in development for Windows 8: http://msdn.microsoft.com/en-us/library/windows/desktop/dd874782%28v=vs.85%29.aspx
I tried to reinstall SDK (http://msdn.microsoft.com/en-US/windows/desktop/hh852363), but it didn't help.
Is there any additional link to install Windows Media Services SDK for VS2012? I haven't necessary files after installation of Windows SDK for Windows 8.
The SDK is removed, probably because the component is not supported on Windows Server 2012.
I suggest you to extract the WMS facing code to a separate DLL that uses the vs110_xp set, and use the DLL in your application.

Resources