Chromium

Este guia descreve como trabalhar com a compilação do Chromium usada pelo DotNetBrowser.

Não é necessário instalar o Chromium ou o Google Chrome no ambiente de destino para usar o DotNetBrowser, pois ele usa e implanta sua própria compilação do Chromium.

Binários

Os binários do Chromium para cada plataforma suportada estão localizados dentro das DLLs DotNetBrowser correspondentes:

  • DotNetBrowser.Chromium.Win-x86.dll - Binários do Chromium para Windows de 32 bits.
  • DotNetBrowser.Chromium.Win-x64.dll - Binários do Chromium para Windows 64-bit.
  • DotNetBrowser.Chromium.Win-arm64.dll - Binários do Chromium para Windows ARM64.
  • DotNetBrowser.Chromium.Linux-x64.dll - Binários do Chromium para Linux de 64 bits.
  • DotNetBrowser.Chromium.Linux-arm64.dll - Binários do Chromium para Linux ARM64.
  • DotNetBrowser.Chromium.macOS-x64.dll - Binários do Chromium para macOS de 64 bits.
  • DotNetBrowser.Chromium.macOS-arm64.dll - Binários do Chromium para macOS ARM64 (Apple Silicon).

Para utilizar o Chromium, é necessário extrair os seus binários.

Extração

O DotNetBrowser extrai os binários do Chromium para a plataforma de destino da DLL correspondente durante o primeiro lançamento.

No Windows, são colocados no diretório %LocalAppData%\Temp\dotnetbrowser-chromium .

No macOS e no Linux, os binários são extraídos para o diretório temporário do usuário.

O DotNetBrowser verifica se a pasta contém os arquivos Chromium necessários. Se não forem encontrados arquivos, ele extrai os binários das DLLs referenciadas na aplicação.

É possível personalizar o caminho padrão para a pasta, onde os binários são extraídos, ou extrair os binários programaticamente e informar à biblioteca onde eles estão localizados:

EngineOptions options = new EngineOptions.Builder
{
    ChromiumDirectory = @"C:\Users\Me\.DotNetBrowser"
}
.Build();
binariesExtractor = new ChromiumBinariesExtractor();
binariesExtractor.ExtractBinariesIfNecessary(options);
// ...
engine = EngineFactory.Create(options);
Dim options = New EngineOptions.Builder With 
{
    .ChromiumDirectory = "C:\Users\Me\.DotNetBrowser\chromium"
}.Build()
Dim binariesExtractor = New ChromiumBinariesExtractor()
binariesExtractor.ExtractBinariesIfNecessary(options)
' ...
engine = EngineFactory.Create(options)

Versão Chromium

Pode obter as informações sobre a versão do Chromium utilizada pela versão atual do DotNetBrowser como ChromiumInfo.Version valor constante. Este campo permite-lhe devolver a versão do Chromium engine de forma programática no seu projeto.

Localização

Você pode especificar o caminho para a pasta de binários do Chromium utilizando EngineOptions ao construir o IEngine, tal como mostrado no exemplo de código abaixo:

IEngine engine = EngineFactory.Create(new EngineOptions.Builder
{
    ChromiumDirectory = @"C:\Users\Me\.DotNetBrowser\chromium"
}
.Build());
Dim engine As IEngine = EngineFactory.Create(New EngineOptions.Builder With 
{
    .ChromiumDirectory = "C:\Users\Me\.DotNetBrowser\chromium"
}.Build())

O caminho pode ser relativo ou absoluto.

Se a pasta já tiver os binários Chromium necessários, a biblioteca não efetuará a extração.

Se o diretório estiver corrompido e alguns arquivos do Chromium estiverem faltando, o DotNetBrowser extrairá os binários e sobrescreverá os arquivos existentes.

Verificação

Cada versão do DotNetBrowser só é compatível com os seus próprios binários Chromium. Os binários de uma versão específica não suportam outras versões do DotNetBrowser.

Para ter certeza de que os binários do Chromium são compatíveis com a versão atual do DotNetBrowser, a biblioteca verifica os binários.

Switches

O Chromium aceita a linha de comandos switches que alteram o comportamento das funcionalidades, ajudam a depurar ou ativam as funcionalidades experimentais.

A lista de switches e a sua descrição podem ser encontradas na documentação fornecida por Peter Beverloo.

O DotNetBrowser não suporta todas as opções do Chromium. Por isso, recomendamos a configuração do Chromium utilizando as Opções do engine em vez de switches.

Sandbox

Windows

O DotNetBrowser suporta o Chromium Sandbox no Windows. A Sandbox está ativada por padrão, mas você pode desativá-la utilizando o exemplo de código abaixo:

engine = EngineFactory.Create(new EngineOptions.Builder 
{
    SandboxDisabled = true
}
.Build());
engine = EngineFactory.Create(New EngineOptions.Builder With 
{
    .SandboxDisabled = True
}.Build())

Extensões do Chrome

O DotNetBrowser não suporta as extensões concebidas para a aplicação Chrome.

A biblioteca integra-se apenas com o controlo do navegador Web que processa o conteúdo Web. Assim, não tem a GUI do Chrome, com elementos como a barra de ferramentas e o menu de contexto, necessários para integrar as extensões.

Go Top