У меня есть сценарий Powershell, в котором я сбросил немного кода на C#. Код выполняет поиск в регулярном выражении файла, и если он находит совпадение, он записывает его в datatable, который возвращается в Powershell для дальнейшей обработки. Все работало нормально, пока я не добавил запись в StreamWriter. Как только я это сделаю, сценарий полностью бомбит. Вот фрагмент кода. Я отметил строку, которая взорвала скрипт. Любая идея, почему это может происходить здесь? Если я прокомментирую эту строку, скрипт отлично работает.C# в Powershell StreamWriter
Regex reg = new Regex(regex);
using (StreamReader r = new StreamReader(SFile))
{
string revisedfile = FileName.txt
string line;
while ((line = r.ReadLine()) != null)
{
using (StreamWriter writer = new StreamWriter(revisedfile, true))
{
// Try to match each line against the Regex.
Match m = reg.Match(line);
if (m.Success)
{
DateTime result;
if (!(DateTime.TryParse(m.Groups[0].Value, out result)))
{
// add it to the DT
MatchTable.Rows.Add(x, m.Groups[0].Value, line);
// write it to the "revised" file
writer.WriteLine(reg.Replace(line, match => DateTime.Now.ToString("MM-dd-yyyy"))); // this is the line that blows it up
}
Можете ли вы определить «бомбу»? Отображается ли конкретное сообщение об ошибке? – Icemanind
Если я запускаю код в Visual Studio, код запускается без ошибок. Если я запустил код в Powershell, ничего не произойдет. ISE немедленно возвращает «Complete», и файлы выходных журналов не создаются. – mack