我正在编写一个库(c#.net 4.0),以便在许多应用程序中使用。其中一个要求是库会根据应用程序是否已部署并通过clickonce运行而向调用返回稍有不同的结果。
我已经进行了搜索,但无法找到程序集可以确定“托管”应用程序是否部署了clickonce的任何方式。
任何指针都会受到赞赏。
答案 0 :(得分:9)
添加对System.Deployment
的引用,之后您可以使用:
Application.ApplicationDeployment.IsNetworkDeployed
如果需要将参数传递给应用程序,请使用:
var args = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;
答案 1 :(得分:0)
我想你可能想要CurrentDeployment。请注意,根据文档,如果您从不是clickonce的应用程序调用它,它将引发异常。