Доступ к данным активации ClickOnce для .NET в Windows

Начиная с версии .NET 8.0 (предварительная версия 1) dotnet-mage, можно получить доступ к ActivationData свойствам с помощью переменных среды. Используя эту версию dotnet-mage, вы можете программно:

  • Найдите имя файла для активации на основе пользовательской ассоциации файлов.
  • Обнаружение аргументов, используемых для активации в файле appref-ms.

Средство запуска считывает AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData массив и задает соответствующие переменные среды, если массив не пуст.

Переменные среды

Задаются следующие переменные среды:

  • ClickOnce_ActivationData_Count

    Если эта переменная существует, это число элементов в массиве строк ActivationData.

  • ClickOnce_ActivationData_<n>

    Для каждого элемента в массиве новая переменная среды добавляется с отсчитываемой от нуля индексом, то есть:

    ClickOnce_ActivationData_0 ClickOnce_ActivationData_1

    В сценариях, исправленных этим изменением, всегда используется элемент нулевого индекса, поэтому переменная всегда будет ClickOnce_ActivationData_0иметь значение, но код является гибким и может передавать все данные активации в приложение .NET.

Свойства access

Эти переменные среды можно считывать для обнаружения ActivationData содержимого с помощью следующего кода:

string value = Environment.GetEnvironmentVariable("ClickOnce_ActivationData_0");

Ранее для приложений платформа .NET Framework эти данные можно прочитать с помощью следующего кода:

string value = AppDomain.CurrentDomain?.SetupInformation?.ActivationArguments?.ActivationData?[0];

ClickOnce для .NET в Windows