Получить информацию о версии файла патча в C#

Я загружаю MSI-файл, используя управление загрузкой файлов в центральное место. Теперь мне нужно получить информацию о версии этого файла. Я использую следующий код.

FileVersionInfo patchFile = FileVersionInfo.GetVersionInfo(completeFilePath)

completeFilePath - полный путь к загруженному файлу. Этот код ломает и выбрасывает файл not found exception.however, если я смотрю вниз в физическом каталоге, файл там существует.

Я что-то упустил или мне придется снова загрузить этот загруженный файл в какое-то временное местоположение, а затем извлечь информацию о версии из этого файла.

Второй вариант, который у меня был, это получить информацию о версии перед загрузкой файла. В этом случае я не могу получить полный путь к этому файлу патча, так как контроль загрузки файла просто дает имя файла, а не полное местоположение.

Пожалуйста, предложите, как продолжить.

1 ответ

Я думаю, что проблема в том, как определить "completeFilePath"

Помните, что если completeFilePath является не-литеральной строкой, вы должны экранировать специальные символы. Например: [string filePath = "C:\\Windows\\FolderName\\FileName.txt";](обратите внимание на символ выхода ()

Другой вариант - использовать буквенную строку, которая позволяет использовать специальные символы без необходимости использовать escape-символ. Примером является:

[string filePath = @""C:\Windows\FolderName\FileName.txt"";]

Если это все еще не работает, то не могли бы вы опубликовать, как вы вводите это?

Другие вопросы по тегам