我有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
另外还有一个将文件关联添加到“已发布”项目的教程: