C# 打开自定义文件,参数始终为空

C# 打开自定义文件,参数始终为空,c#,.net,windows,winforms,C#,.net,Windows,Winforms,我有一个C#WinForm.NET4.5应用程序。我设置了项目->属性->发布->选项->文件关联。这部分似乎可以工作,因为它设置了我选择的图标,如果我双击具有自定义扩展名的文件(在本例中为*.psi),它将打开我的应用程序。但我很难获得双击的文件名。我的静态void Main(string[]args)args总是空的。 我使用ClickOnce部署方法 任何人都可以帮助我什么我错过了打开自定义文件与我的应用程序 static void Main(string[] args) {

我有一个C#WinForm.NET4.5应用程序。我设置了项目->属性->发布->选项->文件关联。这部分似乎可以工作,因为它设置了我选择的图标,如果我双击具有自定义扩展名的文件(在本例中为*.psi),它将打开我的应用程序。但我很难获得双击的文件名。我的静态void Main(string[]args)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文档:

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


您在注册文件扩展名时指定的“打开”命令是什么?我的清单文件有以下行:抱歉,Rufus L您的链接没有我的问题的答案。通常不建议复制粘贴整个答案-您可以将问题标记为重复关闭(这是将问题标记为已解决问题的完美方式)。