0

fileupload コントロールを使用して .msi ファイルを中央の場所にアップロードしています。ここで、このファイルのバージョン情報を取得する必要があります。次のコードを使用しています。

FileVersionInfo patchFile = FileVersionInfo.GetVersionInfo(completeFilePath)

completeFilePath は、アップロードされたファイルのフル パスです。このコードは壊れて、ファイルが見つからない例外をスローします。ただし、物理ディレクトリを見下ろすと、そこにファイルが存在します。

何か不足していますか、またはこのアップロードされたファイルを一時的な場所に再度ダウンロードして、このファイルからバージョン情報を抽出する必要がありますか?

私が持っていた2番目のオプションは、ファイルをアップロードする前にバージョン情報を取得することでした. この場合、ファイル アップロード コントロールは完全な場所ではなくファイル名を指定するだけなので、このパッチ ファイルの完全なパスを取得できません。

続行する方法を提案してください。

4

1 に答える 1

0

問題は「completeFilePath」の定義方法にあると思います

completeFilePathが非リテラル文字列の場合は、特殊文字をエスケープする必要があることに注意してください。例:([string filePath = "C:\\Windows\\FolderName\\FileName.txt";] エスケープ文字()に注意してください

もう1つのオプションは、エスケープ文字を使用せずに特殊文字を使用できるようにするリテラル文字列を使用することです。例は次のとおりです。

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

それでもうまくいかない場合は、これをどのように入力しているかを投稿してください。

于 2010-06-25T13:32:58.980 に答える