Skip to content

Added note recommending .NET Standard #6541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "App Resources for Libraries That Target Multiple Platforms"
ms.date: "03/30/2017"
ms.date: "07/18/2018"
ms.technology: dotnet-standard
dev_langs:
- "csharp"
Expand All @@ -17,6 +17,8 @@ ms.author: "mairaw"
---
# App Resources for Libraries That Target Multiple Platforms
You can use the .NET Framework [Portable Class Library](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md) project type to ensure that resources in your class libraries can be accessed from multiple platforms. This project type is available in [!INCLUDE[vs_dev11_long](../../../includes/vs-dev11-long-md.md)] and targets the portable subset of the .NET Framework class library. Using a [!INCLUDE[net_portable](../../../includes/net-portable-md.md)] ensures that your library can be accessed from desktop apps, Silverlight apps, Windows Phone apps, and [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] apps.

[!INCLUDE[standard](../../../includes/pcl-to-standard.md)]

The [!INCLUDE[net_portable](../../../includes/net-portable-md.md)] project makes only a very limited subset of the types in the <xref:System.Resources> namespace available to your application, but it does allow you to use the <xref:System.Resources.ResourceManager> class to retrieve resources. However, if you are creating an app by using Visual Studio, you should use the strongly typed wrapper created by Visual Studio instead of using the <xref:System.Resources.ResourceManager> class directly.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Cross-Platform Development with the Portable Class Library"
ms.date: "03/30/2017"
ms.date: "07/18/2018"
ms.technology: dotnet-standard
helpviewer_keywords:
- "Portable Class Library [.NET Framework]"
Expand All @@ -12,7 +12,9 @@ ms.author: "mairaw"
---
# Cross-Platform Development with the Portable Class Library
The .NET Framework Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily.


[!INCLUDE[standard](../../../includes/pcl-to-standard.md)]

Portable class libraries can help you reduce the time and costs of developing and testing code. Use this project type to write and build portable .NET Framework assemblies, and then reference those assemblies from apps that target multiple platforms such as Windows and Windows Phone.

Even after you create a Portable Class Library project in Visual Studio and start developing it, you can change the target platforms. Visual Studio will compile your library with the new assemblies, which helps you identify the changes you need to make in your code.
Expand Down
7 changes: 5 additions & 2 deletions docs/standard/cross-platform/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Developing for Multiple Platforms with the .NET Framework"
ms.date: "03/30/2017"
ms.date: "07/18/2018"
ms.technology: dotnet-standard
ms.assetid: b153baaa-130c-4169-860b-e580591de91e
author: "mairaw"
Expand All @@ -9,7 +9,10 @@ ms.author: "mairaw"
# Developing for Multiple Platforms with the .NET Framework
You can develop apps for both Microsoft and non-Microsoft platforms by using the .NET Framework and Visual Studio.

## Options for cross-platform development
## Options for cross-platform development

[!INCLUDE[standard](../../../includes/pcl-to-standard.md)]

To develop for multiple platforms, you can share source code or binaries, and you can make calls between .NET Framework code and Windows Runtime APIs.

|If you want to...|Use...|
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Using Portable Class Library with Model-View-View Model"
ms.date: "03/30/2017"
ms.date: "07/18/2018"
ms.technology: dotnet-standard
dev_langs:
- "csharp"
Expand All @@ -14,7 +14,9 @@ ms.author: "mairaw"
---
# Using Portable Class Library with Model-View-View Model
You can use the .NET Framework [Portable Class Library](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md) to implement the Model-View-View Model (MVVM) pattern and share assemblies across multiple platforms.


[!INCLUDE[standard](../../../includes/pcl-to-standard.md)]

MVVM is an application pattern that isolates the user interface from the underlying business logic. You can implement the model and view model classes in a [!INCLUDE[net_portable](../../../includes/net-portable-md.md)] project in [!INCLUDE[vs_dev11_long](../../../includes/vs-dev11-long-md.md)], and then create views that are customized for different platforms. This approach enables you to write the data model and business logic only once, and use that code from .NET Framework, Silverlight, Windows Phone, and [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] apps, as shown in the following illustration.

![Portable with MVVM diagram](../../../docs/standard/cross-platform/media/portablemvvmdiagram.png "PortableMVVMdiagram")
Expand Down
2 changes: 2 additions & 0 deletions includes/pcl-to-standard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
> [!IMPORTANT]
> Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. For more information, see [.NET Standard](~/docs/standard/net-standard.md).