正如其他人已經表示,當你部署/安裝你的應用程序到另一臺機器上,你的圖像文件也被複制 - 最合適的地方可能是你的項目的輸出目錄(bin/
目錄在哪裏編譯的.exe
去) - 您可以將文件的「複製到輸出目錄」屬性設置爲「複製如果更新」,讓Visual Studio自動爲您執行此操作。
要考慮的另一件事是如何加載圖像 - 如果您使用相對路徑,則可能會發現即使它們與可執行文件在一起,但由於工作目錄不同,您的程序仍然無法找到圖像,請嘗試運行從開發機器上的命令提示符下你的程序中看到這種情況出現:
:: Make sure that the current working directory is different from the one app.exe is in
C:\> path\to\my\program\app.exe
如果你的代碼看起來像這樣一點:
var image = LoadImage("myfile.png");
那麼這是因爲你的計劃正在˚F可能會失敗或c:\myfile.png
而不是C:\path\to\my\program\app.exe
的圖像。你應該修改你的代碼看起來有點像這樣:
另一種方法是使用embedded resources。這稍微複雜一些,但有一個優點,即將圖像嵌入輸出.exe本身 - 不需要額外的文件,因此它減少了找不到所需文件的可能性,因爲它們已被刪除/移動/不是在安裝期間複製。
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "myfile.png");
var image = LoadImage(path);
感謝您的快速回答。我創建了一個文件夾並在其中放置圖像,但我無法看到圖像。當我將圖像放入根部時,我覺得很奇怪,儘管令人耳目一新,但看不見它們。這些文件在Windows資源管理器 – ComfortablyNumb
@ComfortablyNumb - 您需要將圖像添加到項目中。 http://msdn.microsoft.com/en-us/library/9f4t9t92.aspx – Oded
對不起,有點愚蠢。謝謝... – ComfortablyNumb