Acessar os dados de ativação do ClickOnce para .NET no Windows
A partir do .NET 8.0 Versão prévia 1 dodotnet-mage, você pode acessar as propriedades de ActivationData
usando variáveis de ambiente. Usando esta versão do dotnet-mage, você pode programaticamente:
- Descobrir o nome do arquivo para ativação com base em uma associação de arquivo personalizada.
- Descobrir os argumentos usados para ativação no arquivo appref-ms.
O inicializador lê a matriz AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData
e define as variáveis de ambiente apropriadas se a matriz não estiver vazia.
Variáveis de ambiente
As seguintes variáveis de ambientes são definidas:
ClickOnce_ActivationData_Count
Se essa variável existir, o valor será a contagem de elementos na matriz da cadeia de caracteres ActivationData.
ClickOnce_ActivationData_<n>
Para cada elemento na matriz, uma nova variável de ambiente é adicionada com um índice baseado em zero, ou seja:
ClickOnce_ActivationData_0
ClickOnce_ActivationData_1
Os cenários corrigidos por essa alteração sempre usam o elemento de índice zero, portanto, a variável sempre será
ClickOnce_ActivationData_0
, mas o código é flexível e é capaz de passar todos os dados de ativação para o aplicativo .NET.
Acessar propriedades
Você pode ler essas variáveis de ambiente para descobrir o conteúdo de ActivationData
usando o seguinte código:
string value = Environment.GetEnvironmentVariable("ClickOnce_ActivationData_0");
Anteriormente, para aplicativos .NET Framework, você leria esses dados usando o seguinte código:
string value = AppDomain.CurrentDomain?.SetupInformation?.ActivationArguments?.ActivationData?[0];