System.ArgumentException:路径中的非法字符

时间:2014-04-23 07:12:08

标签: c# resources

我有一个资源文本文件setupfile.txt我已添加到我的项目中,并且我有一个方法尝试读取连接字符串,如下所示:

public static string GetConnectionString()
{
    StreamReader rdr = new StreamReader(@"C:\Users..."); // this doesn't cause any errors
    StreamReader rdr = new StreamReader(Properties.Resources.setupfile); // this doesn't
    mySqlConnectionString = rdr.ReadToEnd();
    rdr.Close();
    return mySqlConnectionString;
}

正如我之前所说,所有文件包含一个连接字符串和3个数字:

server=localhost;database=dcim;uid=root;pwd=LlmD62jL;
1,10,2

但是,当我尝试运行测试以查看文件是否包含文本时,我得到了删除:

  

System.ArgumentException:路径中的非法字符

我不知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

StreamReader构造函数需要文件路径,而不是文件内容。我猜您将文件内容作为字符串传递,这是因为文件中的无效字符导致异常的原因(可能是由于;)。

你需要的只是

mySqlConnectionString  = Properties.Resources.setupfile;

另外,我强烈建议您将App.Config文件用于ConnectionString。