C# 找不到正确的文件路径

C# not finding correct file path

我有一个 C# 控制台应用程序,它通过电子邮件发送 Excel 电子表格附件。

我已经在App.config中给出了文件路径。在尝试查找文件时,代码会查看正确的位置。但是当试图在 foreach 语句中附加文件时,它会在代码的 bin 文件夹中查找。

我做错了什么?

DirectoryInfo dir1 = new DirectoryInfo(ConfigurationManager.AppSettings.Get("FilePath"));
        FileInfo[] folderFiles = null;
        folderFiles = dir1.GetFiles();



    foreach (FileInfo aFile in folderFiles)
           {


                 message.Attachments.Add(new Attachment(aFile.Name));
           }

您需要使用 aFile.FullName (includes the full path) rather than aFile.Name(仅文件名)。如果命令没有按照您的预期执行,您应该检查文档。

或者,您可以使其更简单:

string dir1 = ConfigurationManager.AppSettings.Get("FilePath");
foreach(string aFile in Directory.EnumerateFiles(dir1))
{
    message.Attachments.Add(new Attachment(aFile));
}

as Directory.EnumerateFiles 只是 returns 完整的文件名,您将不得不考虑不这样做(例如,通过使用 Path.GetFileName)否则。