Доступ к данным активации 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];