2017-07-13 56 views
0

我從文件中加載文本時出現問題,該文件僅出現在AppVeyor上。我在閱讀文本文件從,如:通過AppVeyor上的DeploymentItem屬性部署文件的File.ReadAllText()

string input = File.ReadAllText(Path);

接下來,我想這個字符串分割到數組 - 我想擁有的每一行,我'做這樣的:

string [] array = input.Split(new string[] { Environment.NewLine });

並在我的電腦上工作。我有一些具有DeploymentItem屬性的單元測試(MSTest),我在該數組中有行。

但在AppVeyor上,我想要CI,該數組只有一個字符串。

我已經在我的電腦上用VSTestConsole測試過它,它的工作原理,所以它不是問題,例如。參數VSTest.Console.exe

是否Environment.NewLine字符串有問題?我知道我可以通過其他的方式做到這一點,但:

  1. 我想用String.Split()方法,因爲我需要StringSplitOptions枚舉,使我的代碼更易讀,而不是如。 foreach循環或別的東西。

  2. 我想知道爲什麼它不工作:)

+0

我的猜測是,當你試圖用'\ r \ n'分割字符串時,用'\ n'作爲新行克隆了源代碼。 –

+0

AppVeyor環境中'Environment.NewLine'的價值是什麼? –

+0

您是否嘗試過:'string [] array = input.Split(new [] {'\ r','\ n'},StringSplitOptions.RemoveEmptyEntries);'? –

回答

0

你可以嘗試使用閱讀

string[] array = File.ReadLines(Path); 

是否該文件仍然給你只有一個項目的數組?