【发布时间】:2017-01-10 11:24:12
【问题描述】:
我想每天运行一个调度程序。所以我创建了一个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]
【问题讨论】:
-
如何初始化
startupPath变量?它可能没有以正确的方式初始化。 -
在你的情况下
startupPath是什么? -
我认为您已经创建了文件夹
C:\Windows\System32\Attachment,然后再尝试在其中创建 excel 文件。您可能需要确保运行您的服务的用户具有写入文件夹的权限。将服务的 Log On As 值设置为 Local System 可以解决此问题。 -
@sagar:更新问题
-
@uteist 假设
C:\Windows\System32将是基本路径,您的解决方案将起作用。但是很少有人会给出这样的基本路径。基本路径初始化错误的可能性似乎很高。