打开自定义文件,参数总是空的

我有C#WinForm .NET 4.5应用程序。 我设置项目 – >属性 – >发布 – >选项 – >文件关联。 这部分似乎工作,因为它设置我select的图标,如果我双击自定义扩展名的文件(在这种情况下* .psi)它打开我的应用程序。 但是我很难得到被双击的文件名。 不知何故,我的静态无效的主要(string[] args)参数总是空的。 我使用ClickOnce部署方法。

任何人都可以帮助我失去了我的应用程序打开自定义文件。

static void Main(string[] args) { if(args.Length > 0) { MessageBox.Show(args[0]); }else { MessageBox.Show("args is empty!"); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); DevExpress.Skins.SkinManager.EnableFormSkins(); UserLookAndFeel.Default.SetSkinStyle(Properties.Settings.Default.ActiveSkinName); Application.Run(new MainForm(args)); } 

在这里找到解决方案。

当您使用ClickOnce发布应用程序,然后通过双击关联的文件启动它时,该文件的路径实际上存储在此处:

AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData [0]

在这里查看MSDN的文档:

http://msdn.microsoft.com/en-us/library/system.runtime.hosting.activationarguments.aspx

另外还有一个将文件关联添加到“已发布”项目的教程:

http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx