我有一个具有关联文件类型的单实例 clickOnce winFrom 应用程序。
当我在调试中运行应用程序并通过调试设置手动输入命令行参数时,一切都按预期工作。调试参数中指定的文件已被处理,一切都按计划进行。
当我实际双击关联的文件类型(调试或实时)时,由于某种原因,命令行 arg (%1) 未传输到应用程序。它只是不存在。
我确实在我的发布>选项>文件关联中设置了文件扩展名。我确实有如下注册表项:
rundll32.exe dfshim.dll, ShOpenVerbExtension {c0a5ac53-477c-4f76-bfc7-aa99e87cbe21} %1
这实际上会在双击文件时打开应用程序。唯一缺少的是发送文件名(要打开和处理)。
任何想法可能导致这样的事情发生?
编辑:请注意该文件只是一个序列化对象可能很重要。目的是在双击文件后反序列化和处理对象。当我使用调试命令行 arg 时,执行此操作的逻辑已经到位并且可以正常工作。
Environment.GetCommandLineArgs() 仅返回 (0) 中的可执行文件的路径。
My.Application.CommandLineArgs.count = 0