访问 .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];

适用于 Windows 上的 .NET 的 ClickOnce