确定App是否作为"clickonce"应用程序运行

Ash*_*Ash 6 c# clickonce

我正在编写一个库(c#.net 4.0),用于许多应用程序.其中一个要求是库会根据应用程序是否已部署并通过clickonce运行而向调用返回稍有不同的结果.

我已经进行了搜索,但无法找到程序集可以确定"托管"应用程序是否部署了clickonce的任何方式.

任何指针将不胜感激.

The*_*est 9

添加引用System.Deployment,之后您可以使用:

Application.ApplicationDeployment.IsNetworkDeployed
Run Code Online (Sandbox Code Playgroud)

如果需要将参数传递给应用程序,请使用:

var args = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;
Run Code Online (Sandbox Code Playgroud)

  • 命名空间有点混乱。您所需要做的就是引用静态属性 [ApplicationDeployment.IsNetworkDeployed](http://msdn.microsoft.com/en-us/library/system.deployment.application.applicationdeployment.isnetworkdeployed%28v=vs.110%29。 aspx) 可以从 System.Deployment 程序集中获得。 (2认同)