我正在开发一个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");
}
异常:无法找到订单的输入目录:
谢谢, 哈
答案 0 :(得分:0)
好的,所以请确保您的文件夹名称完全输入放在bin&gt;项目的Debug文件夹,如果设置
pOrderDirectory = "input"
它应该找到该文件夹。它找到该文件夹的原因是因为你在调试模式下构建,所以当你像我一样只指定一个简单字符串的路径时,它将是搜索文件夹的默认位置。
请注意,如果您更改为Release,则找不到您的文件夹,因为您的文件夹位于Debug中。