2011-06-09 47 views
3

我有一個監視數據庫的C#實用程序。這是爲我自己使用的 - 我沒有創建安裝包,但是我確實設置了配置。我將.exe從release文件夾中取出,放在我的桌面上,雙擊它,它工作正常。當我放入啓動文件夾時,EXE的行爲會有所不同

下一個合乎邏輯的步驟是將它放在我的啓動文件夾中。結果出乎意料。儘管代碼:

private void Form1_Shown(object sender, EventArgs e) 
    { 
     InitializeControls(); 
     this.Hide(); 
    } 

的形式從不掩飾。最重要的是,VS 2010也啓動了。有沒有人明白爲什麼當我將.exe放入啓動文件夾中時,行爲會有所不同?v。只需雙擊它即可?

注意事項。它通過拉動連接字符串出一個配置文件的連接到數據庫:

ConfigurationManager.ConnectionStrings["default"].ToString(); 

配置文件中包含的唯一事情是連接字符串,我把配置文件的啓動文件夾中也是如此。至於它做什麼,它只是查詢數據庫並在窗體上填充7或8個標籤。它最小化系統托盤,每小時通過計時器運行,但也有一個刷新按鈕。

+1

它可能會崩潰並啓動一個調試器,因爲任何其他原因它不應該啓動vs2010。添加有關它如何連接到數據庫的信息,其中保留其用戶設置以及它的工作方式。 – CodingBarfield 2011-06-09 15:42:19

+0

添加調試代碼以查看您的EXE是否可以訪問配置文件。我認爲整個工作目錄可能是你的問題 – Earlz 2011-06-09 16:10:16

+0

感謝你的回覆,這很有道理。由於表格看起來很正常,所以很難判斷是否發生崩潰,但我相信你是正確的。我編輯了最初的帖子以提供更多信息,因爲我的評論持續超過了字數限制。 (這是我的第一篇文章,我還沒有習慣論壇)這個問題可能與在啓動文件夾中使用配置文件有關嗎? – 2011-06-09 16:11:18

回答

0

很可能你工作目錄在啓動文件中設置不正確。所以應用程序缺少* .exe.config文件(或者你忘了複製它?)。

+0

好的,我如何設置工作目錄?我有啓動文件夾中的exe和配置。我應該在發佈文件夾中添加vshost還是其他文件? – 2011-06-09 16:24:07

+0

檢查鏈接文件屬性(通過右鍵單擊)查找「工作目錄」。其他方式,複製你的EXE和配置到任何目錄(如C:\ utils),然後右鍵拖拽EXE文件到開始菜單的啓動文件夾並創建一個鏈接,應該工作正常。 – 2011-06-09 16:28:45

+0

我對「啓動」文件夾和exe本身都進行了右鍵單擊,但沒有找到「工作目錄」。我真的很喜歡你的第二個想法 - 這很有道理 - 我會在下次重啓時嘗試。只要有效,你是否需要我將你的解決方案標記爲已接受或類似的東西? – 2011-06-09 16:36:06

相關問題