6f54a59ce903eeaff197f82937de4012

6f54a59ce903eeaff197f82937de4012

public static void Main()
{
    // testing file name
    var fileName =
        "\\\\server7\\EmailAttachments\\myfolder\\abc\\2012\\1126\\e85c6b82-edc5-4ce1-9ad0-8025b92d0105-o.dom=38c55279fe168c290fb2b06a312b5d88&b=6f54a59ce903eeaff197f82937de4012.dom=38c55279fe168c290fb2b06a312b5d88&b=6f54a59ce903eeaff197f82937de4012=6f54a59ce903eeaff197f82937de4012.dom=38c55279fe168c290fb2b06a312b5d88&b=6f54a59ce903eeaff197f82937de4012";

    var directory = fileName.GetDirectory();
}

   public static string GetDirectory(this string fullyQualifiedFileName)
     {
         return Path.GetDirectoryName(fullyQualifiedFileName); // throwing exception here
     }

获得异常



我想知道为什么 GetDirectoryName 必须依赖于路径或文件名字符限制。

最佳答案

如msdn网站中所述



http://msdn.microsoft.com/en-us/library/system.io.pathtoolongexception(v=vs.100).aspx

以及其背后的原因,您可以在下面的链接中找到此处的内容。



http://blogs.msdn.com/b/bclteam/archive/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton.aspx

10-07 20:17