访问 .NET on Windows 的 ClickOnce 激活数据
从 .NET 8.0 Preview 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 应用程序。
访问属性
可以使用以下代码读取这些环境变量,以发现 ActivationData
内容:
string value = Environment.GetEnvironmentVariable("ClickOnce_ActivationData_0");
以前,对于 .NET Framework 应用程序,你将使用以下代码读取此数据:
string value = AppDomain.CurrentDomain?.SetupInformation?.ActivationArguments?.ActivationData?[0];