2010-06-25 91 views
0

我使用fileupload控件將.msi文件上傳到中央位置。現在我需要獲取此文件的版本信息。我正在使用下面的代碼。在c中獲取補丁文件的版本信息#

FileVersionInfo patchFile = FileVersionInfo.GetVersionInfo(completeFilePath) 

completeFilePath是上傳文件的完整路徑。這段代碼打破和拋出文件沒有發現異常。但是,如果我往下看物理目錄,文件就存在那裏。

我是否錯過了一些東西,或者我將不得不再次下載這個上傳的文件到一些臨時位置,然後從這個文件中提取版本信息。

我的第二個選擇是在上傳文件之前獲取版本信息。在這種情況下,我無法獲得此修補程序文件的完整路徑,因爲fileupload控件只是給出fileName而不是完整的位置。

請建議如何繼續。

回答

0

我認爲這個問題是在如何界定「completeFilePath」

請記住,如果completeFilePath是一個非文本字符串,那麼你必須躲避特殊字符。 例如:[string filePath = "C:\\Windows\\FolderName\\FileName.txt";] (注意轉義字符()

另一種選擇是使用文本字符串,使您可以使用特殊字符,而不必使用轉義字符的一個例子是:

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

如果仍然不工作,那麼你可以請發表你如何輸入這個

+0

這是怎麼出現在quickwatch.completeFilePath = d:\測試\ NUnit_b2e5d79c-7512-40ad-BCB6-f0b16fe9f7b8.msi。這個文件存在於這個位置。 – Rohit 2010-06-25 13:39:02

+0

@Rohit:它似乎我說我發佈的答案是正確的。 「FileVersionInfo.GetVersionInfo」除了一個字符串參數。 quickWatch.completeFilePath是一個字符串,但您需要在另一個臨時字符串中修改特殊字符('\'),並將臨時字符串傳遞給「FileVersionInfo.GetVersionInfo」方法。 – VoodooChild 2010-06-25 13:44:22