O que é uma Biblioteca de Classes Portátil?

109

No MSDN notei uma seção sobre a Portable Class Library, em Informações da versão.

Veja System.Objectum exemplo. http://msdn.microsoft.com/en-us/library/system.object.aspx

Fiz uma breve pesquisa no Google e não consegui encontrar nada sobre o Portable Class Library. Alguém aqui sabe o que é ou onde posso encontrar mais informações sobre ele?

mjcopple
fonte
1
Como aviso - adicionamos suporte adicional para Biblioteca de Classes Portátil no Visual Studio 11 Beta que será lançado na próxima semana.
David Kean

Respostas:

84

ATUALIZAÇÃO 9 de outubro de 2017: Artigo comparando / construindo .NET Core / Std / PCL ATUALIZAÇÃO 23 de novembro de 2016: Artigo de Rick Strahl

ATUALIZAÇÃO 29 de outubro de 2016: .NET Standard 1-> 2 Perguntas frequentes ATUALIZAÇÃO 19 de outubro de 2016: Esta é a melhor entrevista / vídeo que vi até agora sobre .NET Standard 2.0

ATUALIZAÇÃO 27 de setembro de 2016: Postagem de anúncio do .NET Standard 2.0 com mais informações úteis

ATUALIZAÇÃO 6 de junho de 2016: Este artigo explica bem como o mecanismo da biblioteca .NETStandard substitui grande parte do PCL

ATUALIZAÇÃO 10 de julho de 2013: Excelente estado da postagem do blog de resumo do sindicato PCL de @shanselman com muitos exemplos concretos, capturas de tela e links. Coloca qualquer outra resposta aqui na sombra.

ATUALIZAÇÃO em 20 de maio de 2013:

ATUALIZAÇÃO 19 de abril de 2013: Excelente resumo denso de como tudo se encaixa desde o Intellisense até o tempo de execução em uma postagem do blog de Simon Cooper


Vídeo: episódio do programa Visual Studio Toolbox do canal 9, 14 de junho de 2012

Vídeo: episódio Going Deep Show do canal 9 de 27 de setembro de 2011


ATUALIZAÇÃO 11 de setembro de 2012: boa postagem de blog de alto nível com fotos, diagramas e exemplos motivadores mostrando como MVVM Light e RX o usam

ATUALIZAÇÃO de 11 de abril de 2012: Muito boa peça de ponta a ponta de Scott Hanselman que chega ao ponto no dev speak muito rapidamente, incluindo screenshots aqui (também contém informações muito esclarecedoras de 'como pensar sobre isso' e links para amostras). Também inclui uma seção de recursos no final que praticamente duplica toda esta postagem: D

ATUALIZAÇÃO 9 de julho de 2012: Esta série de blog de Mircea Trofin da equipe de desenvolvimento (uma parte até agora) é a cobertura mais completa até agora, incluindo capturas de tela e matrizes detalhadas mostrando os recursos disponíveis em suas seleções se você gosta desse tipo de coisa.


Consulte a postagem no blog de um anúncio sobre ferramentas de biblioteca portátil , que começa com: -

O CTP de Ferramentas de Biblioteca Portátil adiciona um novo modelo de projeto "Biblioteca de Classes Portátil" ao Visual Studio que pode ser usado para criar bibliotecas de classes em C # e VB que são executadas em várias plataformas .NET sem recompilar.

É usado para criar uma biblioteca de classes que tem como alvo várias plataformas (especialmente variantes do Silverlight, como WP7 e SL4, mas incluindo XNA no Xbox) ao mesmo tempo.

Veja também este artigo de resumo do InfoQ

Veja também este aviso de lançamento .

Para obter detalhes baixos e sujos, consulte Diretrizes de segmentação múltipla para ferramentas para código gerenciado

Ruben Bartelink
fonte
2
me derrotou por 27 segundos; p
Marc Gravell
2
@Marc Gravell: Não acontece com frequência, ufa! - mas você venceu @Darin, se isso ajudar ...
Ruben Bartelink
4
Muitos detalhes excelentes, mas acho que isso poderia se beneficiar de uma explicação simples para alguém que é completamente novo nisso.
Lucas
@Lucas Bem, minhas tentativas de mantê-lo atualizado tornaram-no wiki da comunidade, então sinta-se à vontade para editar qualquer coisa que você ache que vai explicar da maneira que você achar útil (achei o artigo InfoQ bom), pensei os que estão no topo são provavelmente os mais completos
Ruben Bartelink
1
Seria melhor resumir esses artigos e colocar um resumo aqui. Atualmente, lida por 40.450 pessoas, com média de 20 minutos (vamos supor) para percorrer os links, significa 561 dias desperdiçados no total.
Zafar
53
  • O projeto Biblioteca de Classes Portátil permite que você escreva e crie assemblies gerenciados que funcionam em mais de uma plataforma .NET Framework. Você pode criar classes que contenham o código que deseja compartilhar em muitos projetos, como lógica de negócios compartilhada e, em seguida, fazer referência a essas classes de diferentes tipos de projetos.

  • Portable Library Tools é um novo suplemento do Visual Studio da Microsoft que permite criar bibliotecas C # e Visual Basic que podem ser executadas em uma variedade de plataformas baseadas em .NET sem recompilação.

O MSDN agora tem um bom artigo / documentação sobre ele . Você pode conferir e ver o que é compatível .Portable Class Library Ícone para biblioteca de classe portátil


Os seguintes assemblies estão disponíveis em um projeto de Biblioteca de Classes Portátil:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Xml.dll
  • System.ComponentModel.Composition.dll
  • System.Net.dll
  • System.Runtime.Serialization.dll
  • System.ServiceModel.dll
  • System.Xml.Serialization.dll
  • System.Windows.dll (do Silverlight)

Você pode descobrir quais membros têm suporte no projeto Biblioteca de Classes Portátil nos tópicos de referência da Biblioteca de Classes .NET Framework. Na tabela de membros de uma classe, o seguinte ícone da Biblioteca de Classes Portátil aparece ao lado dos membros com suporte.

Ícone para biblioteca de classes portáteis (Ícone da Biblioteca de Classes Portátil que você verá no MSDN Docs.)


Para criar um Projeto de Biblioteca de Classes Portátil, você precisa ter:

1 . Visual Studio 2010 Service Pack 1 (SP1) (instalador de 795 KB, ISO de 1,48 GB )

2 . Ferramentas de biblioteca portátil CTP (1,38 MB)

Depois de instalar as atualizações acima, você obterá um novo modelo de projeto para biblioteca de classes portátil:

insira a descrição da imagem aqui

(Conteúdo acima retirado do MSDN)

ATUALIZAÇÃO 2014:

Class Library Portable é parte do Visual Studio 2014.

Shekhar_Pro
fonte
Em relação à última atualização, não acho que haja um Visual Studio 2014, mas parece que o PCL está incluído no Visual Studio 2013. (Pelo menos a edição da comunidade que tenho)
Jake
7

É uma biblioteca de classes que pode ser executada em várias plataformas .

Darin Dimitrov
fonte
Posso enviar meu .csproj portátil para pessoas que não têm essas ferramentas instaladas?
ácido lisérgico de
2
Para executar um aplicativo de Biblioteca de Classes Portátil, uma atualização para o .NET Framework 4 deve ser instalada em sua máquina. Esta atualização é instalada automaticamente com o Visual Studio 2010 SP1, para que você possa executar o aplicativo Biblioteca de Classes Portátil sem mais modificações no computador que você usou para desenvolver o aplicativo. Para executar o aplicativo em um computador diferente, você pode instalar a atualização manualmente.
Jowen
2

Achei Documentos um pouco difíceis de entender, então tentei deixar as coisas um pouco claras aqui.

A biblioteca de classes portátil foi construída para permitir que os programadores criem projetos que serão executados em várias plataformas, como Xbox 360, Windows Phone, Silverlight e .NET Framework (4 e superior). isso é feito através da omissão de algumas APIs específicas que não são suportadas por suas plataformas de destino escolhidas, o que fará com que você perca alguns recursos disponíveis do .Net Framework.

Portanto, podemos dizer que escolher entre Portable class librarye Normal class librarydepende das plataformas de destino de seu projeto. se você quiser que seu aplicativo funcione no Xbox e em computadores desktop com sistema operacional Windows, é melhor economizar seu tempo e usar o PCL, que não seja a biblioteca de classe Normal.

para mais informações visite a página de documentação .

Agora existe uma nova tecnologia de código aberto chamada .Net Standard que substituirá o PCL. O .NET Standard resolve o problema de compartilhamento de código para desenvolvedores .NET em todas as plataformas, trazendo todas as APIs que você espera e adora nos ambientes de que você precisa: aplicativos de desktop, jogos e aplicativos móveis e serviços em nuvem:

  • .NET Standard é um conjunto de APIs que todas as plataformas .NET precisam implementar. Isso unifica as plataformas .NET e evita a fragmentação futura.
  • O .NET Standard 2.0 será implementado pelo .NET Framework, .NET Core e Xamarin. Para o .NET Core, isso adicionará muitas das APIs existentes que foram solicitadas.
  • O .NET Standard 2.0 inclui um shim de compatibilidade para binários do .NET Framework, aumentando significativamente o conjunto de bibliotecas que você pode consultar em suas bibliotecas do .NET Standard.
  • O .NET Standard substituirá as Portable Class Libraries (PCLs) como a história de ferramentas para a construção de bibliotecas .NET multiplataforma.

Você pode ver a definição da API .NET Standard no repositório dotnet / standard no GitHub.

Referência

AmiNadimi
fonte