Windows에서 .NET용 ClickOnce 배포 속성에 액세스
.NET 7 및 Visual Studio 2022 버전 17.4부터 환경 변수를 사용하여 ClickOnce 배포 속성에 액세스할 수 있습니다.
애플리케이션 시작 관리자가 시작 중인 애플리케이션과 ClickOnce 애플리케이션 배포 속성을 공유합니다(.NET만 해당). 속성은 환경 변수를 사용하여 애플리케이션과 공유됩니다.
변수 이름은 .NET Framework ApplicationDeployment 클래스의 속성과 밀접하게 일치합니다. 새 변수 이름에는 ClickOnce_
접두사가 포함됩니다.
- ClickOnce_IsNetworkDeployed
- ClickOnce_ActivationUri
- ClickOnce_CurrentVersion
- ClickOnce_DataDirectory
- ClickOnce_IsFirstRun
- ClickOnce_TimeOfLastUpdateCheck
- ClickOnce_UpdatedApplicationFullName
- ClickOnce_UpdatedVersion
- ClickOnce_UpdateLocation
이러한 변경 사항 외에도 애플리케이션 시작 관리자 버전을 반환하는 새 속성을 사용할 수 있습니다.
ClickOnce_LauncherVersion
.NET 애플리케이션은 이러한 속성을 직접 또는 간접적으로 사용할 수 있습니다.
참고 항목
이 메서드를 사용하면 애플리케이션 배포 속성에 액세스할 수 있지만 .NET 7은 ApplicationDeployment 메서드와 동등한 기능을 지원하지 않습니다.
액세스 속성
다음 코드 예제에서는 ClickOnce_IsNetworkDeployed
및 ClickOnce_ActivationUri
두 속성에 직접 액세스하는 방법을 보여 줍니다.
NameValueCollection nameValueTable = new NameValueCollection();
if (Environment.GetEnvironmentVariable("ClickOnce_IsNetworkDeployed")?.ToLower() == "true")
{
string value = Environment.GetEnvironmentVariable("ClickOnce_ActivationUri");
Uri activationUri = string.IsNullOrEmpty(value) ? null : new Uri(value);
if (activationUri != null)
{
nameValueTable = HttpUtility.ParseQueryString(activationUri.Query);
Console.WriteLine("Query string: " + activationUri.Query);
Console.ReadKey();
}
}
이러한 속성을 간접적으로 사용하려면 애플리케이션 수준에서 새 ApplicationDeployment
클래스를 구현해야 합니다. 이 클래스는 환경 변수 읽기를 추상화하고 이전 .NET Framework 클래스와 비슷한 환경을 제공합니다.
이 클래스의 샘플 구현은 ApplicationDeployment.cs를 참조하세요.
다음 코드 조각은 이 클래스를 사용하는 방법을 보여 줍니다.
NameValueCollection nameValueTable = new NameValueCollection();
if (ApplicationDeployment.IsNetworkDeployed)
{
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
if (ad.ActivationUri != null)
{
nameValueTable = HttpUtility.ParseQueryString(ad.ActivationUri.Query);
}
}
ActivationUri 및 URL 매개 변수
.NET 7 부터 dotnet-mage는 새 스위치, -TrustURLParameters
또는 -tu
를 지원합니다. 이 스위치를 사용하면 dotnet-mage 도구를 사용하여 필요한 배포 특성을 설정할 수 있습니다. 이 변경 사항은 이 기능을 지원하지 않고 <deployment install="true" trustURLParameters="true">인 trustURLParameters
속성을 추가하기 위해 애플리케이션 매니페스트를 수동으로 수정해야 했던 이전 Mage 도구에 비해 개선된 것입니다.
애플리케이션이 ActivationUri
및 URL 매개 변수에 액세스할 수 있도록 trustURLParameters
를 true로 설정해야 합니다.