与相对路径相关的异常

时间:2017-03-16 18:18:32

标签: c# exception directory

我正在开发一个C#sharp控制台应用程序。我遇到了与相对路径相关的以下错误,尝试将调试设置从anyCPU更改为x86,但这并没有起作用。有人能指出我正确的方向。感谢

public static void ReadOrders(string pOrderDirectory)
        {
            // This exception is already thrown by <code>Directory.GetFiles()</code> but caught earlier here to allow 
            // the option of throwing an app-specific exception
            if (!Directory.Exists(pOrderDirectory))
            {
                throw new DirectoryNotFoundException("Unable to find input directory for orders: " + pOrderDirectory); //ran into the exception here.
            }

            // Process the list of files found in the directory.
            string[] oOrderFilenames = Directory.GetFiles(pOrderDirectory, SalesTaxHelper.GetConfigurationValue(CONFIG_KEY_FILE_SEARCH_PATTERN));

            if (oOrderFilenames.Length < 1)
            {
                throw new IOException("No orders found in input directory");
            }

            foreach (var oOrderFile in oOrderFilenames)
            {
                var oOrderProcessor = new Order();

                var oOrderLineItems = File.ReadAllLines(oOrderFile);
                foreach (var oLineItem in oOrderLineItems)
                {
                    oOrderProcessor.AddLineItem(oLineItem);
                }

                Console.WriteLine(oOrderProcessor.PrintInvoice());
            }

            Console.WriteLine("======================================");
            Console.WriteLine("PROCESSED ALL INPUT FILES IN DIRECTORY");
        }
  

异常:无法找到订单的输入目录:

谢谢, 哈

1 个答案:

答案 0 :(得分:0)

好的,所以请确保您的文件夹名称完全输入放在bin&gt;项目的Debug文件夹,如果设置

pOrderDirectory = "input"

它应该找到该文件夹​​。它找到该文件夹​​的原因是因为你在调试模式下构建,所以当你像我一样只指定一个简单字符串的路径时,它将是搜索文件夹的默认位置。

请注意,如果您更改为Release,则找不到您的文件夹,因为您的文件夹位于Debug中。