У меня есть одноэкземплярное приложение clickOnce winFrom с соответствующим типом файла.
когда я запускаю приложение в режиме отладки и вручную ввожу аргументы командной строки через настройки отладки, все работает так, как ожидалось. Файл, указанный в аргументах отладки, обрабатывается, и все идет по плану.
Когда я дважды щелкаю связанный тип файла (либо в режиме отладки, либо в реальном времени), аргумент командной строки (%1) по какой-то причине не передается приложению. Его просто нет.
У меня есть расширение файла, установленное в моей публикации > параметры > ассоциации файлов. У меня есть записи реестра следующим образом:
rundll32.exe dfshim.dll, ShOpenVerbExtension {c0a5ac53-477c-4f76-bfc7-aa99e87cbe21} %1
Это действительно открывает приложение при двойном щелчке файла. единственное, чего не хватает, это имя отправляемого файла (для открытия и обработки).
Любые идеи, что может привести к чему-то подобному?
РЕДАКТИРОВАТЬ: может быть важно отметить, что файл является просто сериализованным объектом. Цель состоит в том, чтобы десериализовать и обработать объект после двойного щелчка по файлу. Логика для этого уже существует и работает, когда я использую аргумент командной строки отладки.
Environment.GetCommandLineArgs() возвращает только путь к исполняемому файлу в (0).
My.Application.CommandLineArgs.count = 0