Diferenças entre o .NET Compact estrutura e o .NET estrutura
The .NET Compact Framework é um subconjunto de completo .NET Framework. Ele implementa aproximadamente 30 % do total .NET Framework classe biblioteca e também contém recursos e es classe são específicas para desenvolvimento móvel e incorporado.
Este tópico não descreve todas as diferenças entre os dois Frameworks, mas lista as considerações importantes para desenvolver aplicativos.
Domínios de aplicativo
The .NET Compact Framework o não não está atualmente suporte ao carregamento de montagens em uma área código de domínio neutro para uso por vários domínios do aplicativo. Para obter mais informações, consulte Domínios de aplicativos no .NET Compact Framework.
Matrizes
Embora alguns idiomas suportem limites inferiores diferentes de zero, o Common linguagem tempo de execução (CLR) não e lança um MissingMethodException Se o primeiro elemento não for zero.
ASP.NET
The .NET Compact Framework é principalmente uma plataforma de cliente avançado e não fornece ASP.NET suporte. Para desenvolver páginas da Web para dispositivos móveis, você pode usar ASP.NET controles de Web móvel. Para desenvolver páginas da Web para computadores pessoais ou provedores de serviço Web, consulte o seu ASP.NET documentação.
Módulos (assemblies) e formatos de arquivo
Aplicativos para dois Frameworks usar módulos (assemblies).Os dois Frameworks acessem arquivos executável portáveis (PE), que contêm Microsoft intermediate linguagem (MSIL) e metadados que definem um .NET Framework aplicativo. Um arquivo PE pode referir-se a uma programação namespace que é definido e compartilhado por outros arquivos de assembly.Consulte Compatibilities binário com o .NET estrutura completo para obter mais informações.
Módulos (assemblies) e cache de conjunto global
The .NET Compact Framework atualmente não oferece suporte a assemblies multimódulos mas oferece suporte a assemblies satélites.
Classes e tipos
The .NET Compact Framework oferece suporte a um subconjunto da .NET Framework biblioteca de classes. Esse subconjunto é adequado para aplicativos que são projetados para serem executados em dispositivos com recursos limitados e que é semanticamente compatível com as classes de mesmo nome no .NET Framework.
Para obter informações sobre como determinar .NET Compact Framework suporte, consulte Como: Localizar suporte membros do .NET Compact estrutura na biblioteca de classes.
Interoperabilidade COM
Para obter informações sobre interoperabilidade COM e marshaling de diferenças entre .NET Compact Framework e completo .NET Framework, consulte Interoperabilidade no .NET Compact Framework.
Common Language Runtime
Common Language Runtime em ambos os Frameworks se beneficia da execução de código gerenciado, compilação de código Just-In-Time (JIT), e coleta de lixo.Eles oferecem suporte a commom language Specification (CLS).
sistema autônomo dois Frameworks têm tipos primitivos internos, bem sistema autônomo outros tipos que você pode usar e derivar de quando você cria seu aplicativo.
O common linguagem tempo de execução para o .NET Compact Framework é aproximadamente 12 por cento do dimensionar do completo .NET Framework Common linguagem tempo de execução.
Controles
The .NET Compact Framework oferece suporte à maioria dos controles Windows Forms fornecidos por completo .NET Framework e contém controles que são específicas para o .NET Compact Framework.
Controles Windows Forms são criados especialmente para o .NET Compact Framework. Para obter mais informações, consulte Controles no .NET Compact Framework.
Pasta atual
A funcionalidade de um diretório corrente não está presente no Windows Embedded CE sistema operacional. Portanto, a .NET Compact Framework não oferece suporte a GetCurrentDirectory e SetCurrentDirectory métodos.
The .NET Compact Framework oferece suporte a WorkingDirectory propriedade para um ProcessStartInfo objeto. No entanto, seu contexto não é preservado por executável em execução nas inicializações subseqüentes e o arquivo é carregado.
Dados
The .NET Compact Framework Fornece uma implementação do subconjunto de ADO.NET e inclui o SQL Server Mobile provedor de dados. The System.Data.OleDb Não há suporte para espaço para nome. Para obter mais informações sobre suporte dados, consulte Acesso de dados e suporte a XML no .NET Compact estrutura.
Tipos de dados e precisão de ponto flutuante
The .NET Compact Framework não oferece suporte a MidpointRounding enumeração.
Em um cálculo de divisão, se o divisor é muito grande ou com ponto flutuante o máximo valor, ou é muito baixo ou o valor mínimo de ponto flutuante, o cálculo retornará 0 (zero) em vez do cálculo correto.
A plataforma MIPS não oferece suporte a precisão total especificada pelo Padrão para aritmética de ponto flutuante binário (IEEE 754) e pode causar resultados imprevisíveis.Devido a considerações de desempenho, a de.NET Compact Framework não fornece um recurso de emulação de ponto flutuante para esta plataforma.
Delegados
Delegados assíncrono, especificamente BeginInvoke e EndInvoke Não há suporte para métodos. Para obter mais informações, consulte Assíncrono de programação usando representantes.
Implantando aplicativos
Para implantar um aplicativo, você pode copiar com com facilidade o assembly para o dispositivo de destino usando um cabo de computador de mesa, sua porta de infravermelho ou uma conexão sem fio de Internet ou intranet.In Microsoft Visual Studio 2005, você pode implantar diretamente para o dispositivo durante a depuração.
Rastreamento de diagnósticos
The .NET Compact Framework oferece suporte a arquivos de configuração de rastreamento, mas você pode usar os contadores de desempenho. Para obter mais informações, consulte Desempenho e o diagnóstico no .NET Compact estrutura.
Objetos descartados
O completo.NET Framework não garante que acessar propriedades ou métodos em um objeto descartado sempre terá êxito. No entanto, acessar algumas propriedades, sistema autônomo Text geralmente tem êxito no .NET Framework. Por causa das diferenças de implementação entre os dois Frameworks, acessar métodos ou propriedades em um objeto descartado quase sempre falhará no .NET Compact Framework.
Codificação e localização
Suporte de localização (globalização), sistema autônomo data de classificar e formatação de tabelas de apropriado para a localidade, adia para o sistema operacional base sempre que possível para eficiência de compatibilidade e dimensionar.
The .NET Compact Framework depende do sistema operacional para classificação de dados. Portanto, a classificação pode produzir resultados inesperados para algumas culturas.
The .NET Compact Framework não oferece suporte por thread CurrentUICulture configurações.
Para obter mais informações sobre o suporte de localização, consulte Codificações e Localização no .NET Compact Framework.
Eventos
The .NET Compact Framework oferece suporte a GotFocus e LostFocus eventos, mas não oferece suporte a Activated e Deactivated eventos.
Strings de descrição de exceções
The .NET Compact Framework fornece strings de mensagem de erro de exceção em uma DLL separada chamada sistema.SR.dll para economizar memória.
Você também pode fornecer Strings de exceção para outras culturas para localizar aplicativos.
Nomes de arquivo e caminhos
Windows Embedded CE resolve um nome de arquivo especificado sem informações de caminho sistema autônomo sendo no diretório raiz do dispositivo, não no diretório de aplicativo. Para garantir operações bem-sucedidas, especifique informações de caminho absoluto.
The .NET Compact Framework processa seqüências URI (Uniform recurso identificador) o prefixo arquivo:// de forma diferente do completo .NET Framework. Uma especificação relativa, sistema autônomo arquivo://myfile resolve sistema autônomo \\myfile.O URI seqüência arquivo:///myfile (com três barras) resolve sistema autônomo \myfile no diretório raiz.
Você pode obter a versão de um assembly com o Version propriedade, mas seu suporte varia de acordo com o fabricante do dispositivo e não pode ser garantida.
Para obter o nome da pasta que contém um aplicativo, consulte Como: Obter o diretório de aplicativo.
Alta resolução
No .NET Compact Framework 2,0 e versões posteriores, resolução DPI é manipulada automaticamente no Visual Studio projetos. Para obter mais informações sobre alta resolução, consulte Como: Alça orientação and resolução Changes.
Entrada / saída (E/s)
Devido a diferenças nos sistemas operacionais de dispositivos, há restrições e as restrições no modelo de E/s.The .NET Compact Framework não fornece notificações de alterar de arquivo.
Como dispositivos de E/s ocorrem na memória RAM, atributos de arquivo e Diretório não podem ser definidos ou acessados.
Instalação e arquivos CAB
Você pode usar arquivos CAB e criar aplicativos do Microsoft Windows Installer para distribuir seus aplicativos.
Linguagens
O CD oferece suporte desenvolvimento usando Visual Basic e Visual C#, mas atualmente não oferece suporte C++.
Matemática
Nem todos os métodos de matemática são suportados em todas as plataformas dispositivo; no entanto, eles são incluídos na API para compatibilidade.
Memória
The .NET Compact Framework é otimizado para sistemas com fonte de alimentação da bateria e evita uso pesado de ciclos RAM e CPU. Para obter mais informações sobre como salvar memória, consulte Dispositivo de memória Management in the .NET Compact estrutura e Como: Melhore o desempenho.
Rede
The .NET Compact Framework Fornece classes de associação de dados de infravermelho (IrDA) para fazer conexões via infravermelho e Web escuta classes para servir solicitações HTTP para o dispositivo. Essas classes estão disponível somente a .NET Compact Framework. Para obter mais informações, consulte Rede e conectividade no .NET Compact estrutura.
Código proxy
The .NET Compact Framework não oferece suporte a todos os código gerado pela Tool WSDL (Web Serviços Description Idioma) (WSDL.exe). Para determinar o código que não há suporte, consulte Como: Use a Proxy Generated by WSDL.exe.
Reflexão
The .NET Compact Framework não oferece suporte a System.Reflection.Emit espaço para nome.
The .NET Compact Framework não oferece suporte para o (operador de igualdade==) quando ele compara objetos de reflexão, sistema autônomo MethodInfo, FieldInfo, PropertyInfo, EventInfo, MemberInfo, MethodBase, ConstructorInfo, e ParameterInfo. sistema autônomo alternativa, consulte Implementando o método é igual A.
Remoting
The .NET Compact Framework não oferece suporte a comunicação remota. See Enfileiramento de mensagens no .NET Compact Framework Soluções alternativas.
Segurança
Diferenças de segurança e as considerações são descritas em Segurança no .NET Compact Framework.
Série
Devido a considerações de dimensionar e desempenho, a de.NET Compact Framework não oferece suporte ao uso de serialização binária BinaryFormatter, ou o uso de serialização SOAP SoapFormatter.
No entanto, a .NET Compact Framework oferecem suporte de serialização para transmissão de dados objeto usando SOAP em Serviços Web XML e serializar datasets para XML.
Size (Tamanho)
The .NET Compact Framework é 8 % do dimensionar do completo .NET Framework pacote redistribuível. O dimensionar em disco é 50 % menor por causa de Windows Embedded CE compactação do sistema de arquivos.
Soquetes
Nem todas as opções soquete são suportadas.Para obter mais informações, consulte Programação de socket.
Manipulação de sequência de caracteres, expressões regulares
Aplicativos que usam expressões regulares no .NET Compact Framework não são binário compatível com aplicativos que usam expressões regulares no completo .NET Framework, mas eles são o código-fonte compatível.
Segmentos (Threads)
A .NET Compact Framework aplicativo cria threads de até quatro:
Um segmento de aplicativo principal.
A thread que é usado para controlar diversos temporizadores de período e tempos limite que pode ser agendado pelo sistema ou pelos aplicativos.
A thread que é usado para controlar alterações para as interfaces TCP/IP ativas (simulando o comportamento de sentido de mídia que está presente no Windows XP mas não em Windows Embedded CE).
Um segmento que é usado para executar finalizers Objeto.Esse segmento é criado quando o primeiro objeto finalizáveis é coletado ao lixo.
Para obter mais informações sobre suporte de threading, consulte Segmentação no .NET Compact Framework.
Intervalos de tempo
The Now propriedade retorna um valor que é específico apenas segundos, não milissegundos. Você pode obter uma melhor medida usando o TickCount propriedade.
Temporizadores
The Start e Stop métodos para um System.Timers.Timer Não há suporte para o objeto, mas você pode iniciar e parar a temporização, definindo o Enabled propriedade de um System.Windows.Forms.Timer objeto para true ou false.
Visual Basic My
The compact supports the Visual Basic My feature (see Desenvolvimento com My), except for the following My objects:
My.Application
My.Computer
My.User
My.Settings
Serviços da Web
Na Web que executa o cliente de serviços reúne gerados pelo wsdl.exe diretamente.
Não use localhost para criar um serviço Web no dispositivo, pois localhost se refere ao dispositivo que está executando o aplicativo.Em vez disso, você deve usar a máquina do nome ou seu endereço IP.
XML
Devido a considerações de dimensionar, a de.NET Compact Framework não oferece suporte a validação de esquema XML. Ele não suporta Modelo de objeto documento (DOM) do XML.Para obter mais informações, consulte Acesso de dados e suporte a XML no .NET Compact estrutura.