我想每天运行一个调度程序。因此,我创建了一个Windows application
并将其存储到服务器上。
这在我的本地计算机上工作正常,但是我得到路径错误,因为
找不到路径的一部分
C \ Windows \ System32 ..
因此,我认为可能存在与路径有关的问题。
这是我的代码。
startupPath = Environment.CurrentDirectory;
strExp = "RAName = '" + group.Key + "'";
DataTable dtNew = ds.Tables[1].Select(strExp).CopyToDataTable();
DataSet dsNew = new DataSet();
dsNew.Tables.Add(dtNew);
dtNew.Columns.Remove("RAName");
dtNew.Columns.Remove("UserEmail");
ExcelLibrary.DataSetHelper.CreateWorkbook(startupPath + "\\Attachment\\Reminder_Sheet_ " + dtNew.Rows[0]["SR NO"].ToString() + ".xls", dsNew);
ls_attach1.Add(startupPath + "\\Attachment\\Reminder_Sheet_ " + dtNew.Rows[0]["SR NO"].ToString() + ".xls");
foreach (var attach in ls_attach1)
{
mail.Attachments.Add(new Attachment(attach));
}
ce.SendEmail(tb_RA.Rows[0]["RA1_Email"].ToString(), "", "", "Information on documents for processing", sbodyMail,
"AUTOSQL", "Powersoft", ls_attach1, "ConnectionString");
foreach (Attachment attachments in mail.Attachments)
{
attachments.Dispose();
}
if ((System.IO.File.Exists(startupPath + "\\Attachment\\Reminder_Sheet_ " + dtNew.Rows[0]["SR NO"].ToString() + ".xls")))
{
System.IO.File.Delete(startupPath + "\\Attachment\\Reminder_Sheet_ " + dtNew.Rows[0]["SR NO"].ToString() + ".xls");
}
我不知道这里的路径出了什么问题,
这是错误的屏幕截图
[![错误] [1]] [1]
您可能以为,当您安装服务时,它会在其安装路径上运行,但Windows上的服务是由通常位于“服务控制管理器”(scm)上的服务运行的 C:\Windows\System32
因此,您的服务获得的C:\Windows\System32
价值为CurrentPath()
您可以尝试:
startupPath = System.AppDomain.CurrentDomain.BaseDirectory;
*编辑:对于那些谁可能要检查SCM的路径,你需要检查该文件是sc.exe
作为sc
命令您使用安装,启动,等等。服务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句