2014-12-05 140 views
0

我已經制定程序捕獲數據從數據庫,並通過Email.Program沒有任何錯誤,執行發送,同時通過manually.when運行安排我上任務調度它拋出一個錯誤計劃任務拋出一個錯誤

Could not find file 'C:\Windows\system32\EmailTemplateMini.html'. 
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadString(Uri address) at System.Net.WebClient.DownloadString(String address) at DataEditMailSvc.MailSvc.GenerateEmployeeStatusListMail(DateTime executeDateTime, Int32 isActive, String status, String headerStatus, String connectionString, String locationName) in d:\Work\Projects\Logiwiz\DataEditMailSvc\DataEditMailSvc\MailSvc.cs:line 123 

任何人都可以告訴我這是什麼原因

+0

這是否文件中存在?如果不是這就是錯誤的原因。如果它甚至不應該在那裏尋找,那麼你將不得不告訴我們爲什麼你認爲這可能與一些代碼示例...即告訴我們你認爲它應該在哪裏看,以及代碼告訴我們爲什麼它應該在那裏看。 – Chris 2014-12-05 10:58:37

回答

3

因爲你正在指定一個模板的相對路徑。當任務通過任務計劃程序運行時,其當前目錄設置爲啓動exe的可執行文件,顯然是C:\Windows\system32

Get your executable's location構築了一個絕對路徑:

using System.IO; 
using System.Reflection; 

string appDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 

string templatePath = Path.Combine(appDirectory, "EmailTemplateMini.html");