数据驱动的unit testing – CSV编码问题?

我有以下CSV文件,用于我的数据驱动unit testing:

File;expected Resources.resx;default Resources.de.resx;de AttachmentDetail.ascx.it.resx;it SomeOtherFile.rm-CH.resx;rm-CH 

“文件”和“预期”是标题。 但是,如果我想在代码中得到“文件”列

 TestContext.DataRow["File"].ToString(); 

我收到了错误

System.ArgumentException:列’File’不属于表..

当我通过测试方法属性将CSV文件添加到现有测试用例时,似乎“文件”列在其名称前面有一些奇怪的符号,就像编码问题一样。 但是,如果我用记事本,Notepad ++甚至TextMate(在Mac上)打开CSV文件,我没有看到任何这样的迹象,我无法摆脱它们。

有人可以给我一个关于这个问题的建议吗?

如果在VS2008中编辑CSV文件,则可以设置CSV文件的保存方式:

“文件\高级保存选项…”

在“编码:”下拉列表中,默认值为UTF-8。 将其更改为“Wester European(DOS) – Codepage 850”。 单独保留Line endings选项。

保存文件的编码是什么?

据我所知,保存在Windows记事本中的UTF-8在文件前面放置了一些奇怪的符号,以确切地知道在没有找到UTF8所需的任何符号时使用的编码(假设一切都是简单的ascii)

你用Notepad ++编辑文件并保存了吗? 我会尝试这样做并比较结果。