I've been trying to install the Portable Library Tools and create a Portable Class Library using Visual Studio 2010 Express for Windows Phone. It seems like it should work as PCL says it supports Visual Studio Express. Unfortunately, I run into issues as it won't recognize that VS 2010 SP1 is installed.
At that point receive a "You don't have Visual Studio 2010 SP1". Any ideas? Or am I destined to have to purchase Visual Studio? The goal is to be able to build an SDK library that supports desktop .NET, ASP.NET as well as Windows Phone 7.
Ms Project 2010 Portable
Worked for me - at least i could open and build the project in Visual Studio 2012 Express (for Windows 8), i also had no problems referencing the portable library from an Windows Store App project and running it. I hope i'm not running into problems later on...
We try to preserve backwards compatibility with previous versions, such as Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012. However, support for some project types changes over time. A newer version of Visual Studio might not support certain projects at all, or it might require that you update a project so that it's no longer backwards-compatible.
Some project types require specific workloads. If you don't have the workload installed, Visual Studio reports an unknown or incompatible project type. In that case, check your installation options in the Visual Studio Installer and try again. For more information about project support in Visual Studio 2019, see the Platform Targeting and Compatibility page.
If you don't see a project or file type listed here that should be, consult the Visual Studio 2017 version of this article. You can also use the Send feedback about > This page button at the bottom of this page to provide details of your project. (If you use the anonymous "Is this page helpful?" control, we aren't able to respond to your feedback.)
While we try to maintain compatibility with previous versions, there can be changes that aren't compatible with previous versions. (See Platform Targeting and Compatibility for which project types are supported in Visual Studio 2019.) When this happens, a newer version of Visual Studio won't load the project or offer a migration path. You might have to maintain that project in a previous version of Visual Studio.
Sometimes, the newer version of Visual Studio can open a project, but it must update or migrate the project in a way that might render it incompatible with previous versions. Visual Studio uses the following criteria to determine whether such migration is necessary:
Compatibility of design-time assets with previous versions of Visual Studio. (Namely different channels of Visual Studio 2019, Visual Studio 2017; Visual Studio 2015 RTM & Update 3; Visual Studio 2013 RTM & Update 5; Visual Studio 2012 Update 4; Visual Studio 2010 SP 1.) Visual Studio 2019 aims to fail gracefully with deprecated design-time assets without corrupting them, such that previous versions can still open the project.
The engineering team that owns the project type looks at these criteria and makes the call where support, compatibility, and migration are concerned. Again, we try to maintain compatibility between Visual Studio versions so that when you create and modify projects in one version of Visual Studio, it just works in other versions.
Sometimes, compatibility isn't possible. Then, Visual Studio opens the upgrade wizard to make the necessary one-way changes. These one-way changes might involve changing the ToolsVersion property in the project file, which denotes exactly which version of MSBuild can turn the project's source code into the runnable and deployable artifacts that you want.
What renders a project incompatible with previous versions of Visual Studio isn't the Visual Studio version, but the MSBuild version, as determined by ToolsVersion. If your version of Visual Studio contains the MSBuild toolchain that matches the ToolsVersion in a project, then Visual Studio can invoke that toolchain to build the project.
To maintain compatibility with projects that you created in previous versions, Visual Studio 2019 includes the necessary MSBuild toolchains to support ToolsVersion 15, 14, 12, and 4. Projects that use any of these ToolsVersion values should result in a successful build. (Subject, again, to whether Visual Studio 2019 supports the project type, as described on Platform Targeting and Compatibility.)
You might be tempted to manually update or migrate a project to a newer ToolsVersion value. It's unnecessary to make such a change, and would likely generate many errors and warnings that you must fix to get the project to build again. Also, if Visual Studio doesn't support a specific ToolsVersion in the future, then the project triggers the project migration process when you open it because its ToolsVersion value must be changed.
We try to preserve backwards compatibility with previous versions, such as Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012. However, support for some project types changes over time. A newer version of Visual Studio might not support certain projects at all, or it might require that you update a project so that it's no longer backwards-compatible.
Some project types require specific workloads. If you don't have the workload installed, Visual Studio reports an unknown or incompatible project type. In that case, check your installation options in the Visual Studio Installer and try again. For more information about project support in Visual Studio 2022, see the Platform Targeting and Compatibility page.
If you don't see a project or file type listed here that should be, consult the Visual Studio 2019 version of this article. You can also use the Send feedback about > This page button at the bottom of this page to provide details of your project. (If you use the anonymous "Is this page helpful?" control, we aren't able to respond to your feedback.)
While we try to maintain compatibility with previous versions, there can be changes that aren't compatible with previous versions. When this happens, a newer version of Visual Studio won't load the project or offer a migration path. You might have to maintain that project in a previous version of Visual Studio. For more information about the project types that are supported in Visual Studio 2022, see the Platform Targeting and Compatibility page.
Sometimes, a newer version of Visual Studio can open a project, but it must update or migrate the project in a way that might render it incompatible with previous versions. Visual Studio uses the following criteria to determine whether such migration is necessary:
Compatibility of design-time assets with previous versions of Visual Studio. (Namely different channels of Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015 RTM & Update 3, Visual Studio 2013 RTM & Update 5, Visual Studio 2012 Update 4, and Visual Studio 2010 SP1.) Visual Studio 2022 aims to fail gracefully with deprecated design-time assets without corrupting them, such that previous versions can still open the project.
To maintain compatibility with projects that you created in previous versions, Visual Studio 2022 includes the necessary MSBuild toolchains to support ToolsVersion 15, 14, 12, and 4. Projects that use any of these ToolsVersion values should result in a successful build. (Subject, again, to whether Visual Studio 2022 supports the project type, as described on Platform Targeting and Compatibility.)
In this post, we will look at how you can use Visual Studio to write portable class library assemblies that can run on multiple Microsoft platforms. You can create a portable class library that will run on Windows 8, Windows Phone, and Xbox 360 devices. This post provides an overview of portable class libraries, and will be followed by more in-depth posts on portable code.
Before we dive into the details, as part of the Visual Studio Toolbox Series, Daniel Plaisted from the CLR Core Framework Test Team shows how you can make effective use of portable class libraries in Visual Studio.
Given the number of scenarios and platforms we wanted to support, we set out on two parallel efforts. We determined the intersection of APIs between the platforms and also wrote sample code for the scenarios. We found that many APIs were already common across platforms. However, certain APIs were missing from some of the platforms, which blocked a scenario. For example, we found that we were missing important types to enable building MVVM view models in portable code. Over time, and in alignment with certain .NET Framework releases, we were able to get the remainder of APIs into more platforms, so we could enable all the scenarios listed above for portable class libraries. 2ff7e9595c
Comments