在我的项目属性中,我转到发布,选项和文件关联,并输入“.cms”,“联系人管理器文件”“pqcms”和“1icon.ico”,但是当我发布并安装它时似乎没有关联文件...我希望能够双击该文件并让它打开程序,但它似乎没有这样做。
我相信如果您以管理员身份运行程序,有一些方法可以编辑注册表,但我真的需要clickonce对我感到满意,因为我正在最大化这些功能。是不是clickonce应该为我设置文件关联?为什么不呢?
最后一个问题:如果不向管理员提升权限,我该怎么办?
答案 0 :(得分:4)
您是否添加了处理用户双击文件所需的代码?
//Get the ActivationArguments from the SetupInformation property of the domain.
string[] activationData =
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;
if (activationData != null)
{
Uri uri = new Uri(activationData[0]);
string fileNamePassedIn = uri.LocalPath.ToString();
//now you have the file name and you can handle it
}
答案 1 :(得分:0)
要注意的另一件事。我最初将此代码(由RobinDotNet提供)转换为vb.net。现在我已经将项目转换为c#并遇到了一些有趣的事情。调试时(我想如果你选择让exe可访问而不是点击一次参考应用程序)“AppDomain.CurrentDomain.SetupInformation.ActivationArguments”为空(没有分配激活参数)所以我稍微修改了代码陷阱此错误。
//Get the ActivationArguments from the SetupInformation property of the domain if any are set.
if (AppDomain.CurrentDomain.SetupInformation.ActivationArguments != null)
{
string[] activationData =
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;
if (activationData != null)
{
Uri uri = new Uri(activationData[0]);
string fileNamePassedIn = uri.LocalPath.ToString();
//now you have the file name and you can handle it
}
}