Я пытаюсь позвонить MStest из приложения для консоли внутри крючка SVN Pre-Commit, но получаю ошибку?

StackOverflow https://stackoverflow.com/questions/3729151

  •  03-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь позвонить MStest.exe из простого приложения для консоли, который выполнен изнутри SVN Pre-Commit Consip.

Если я использую TortoiseSvn для совершения, он автоматически управляет консольным приложением приложения ниже.

(пропустить после того, как код, чтобы увидеть, что происходит ...)

// код

static void Main(string[] args)
{
    string testPath = @"C:\Users\myname\Documents\SVN\Test\bin\Debug\TestProject1.dll";

    string mstest = GetMSTestOutput(testPath);

    if (mstest != null)
    {
        Console.Error.WriteLine(mstest);
        Environment.Exit(1);  // I WANT it to stop here, so I can see output while testing
    }
}

private static string GetMSTestOutput(string testPath)
{
ProcessStartInfo processStartInfo = new ProcessStartInfo
{
    FileName = @"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe",
    UseShellExecute = false,
    CreateNoWindow = true,
    RedirectStandardOutput = true,
    RedirectStandardError = true,
    Arguments = String.Format("/testcontainer:{0}", testPath)
};

Process process = Process.Start(processStartInfo);
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
 return output;
}

// ВЫХОД

Это то, что я вижу в окне TortoiseSVN:

Ошибка: Commun Failed (подробности следуют):
Ошибка: коммитарируйтесь заблокированным крюком предварительной коммитии (выходной код 1) с выходом:
Ошибка: Microsoft (R) Test Exection Tool Line Tool Tools 10.0.30319.1
Ошибка: Copyright (c) Microsoft Corporation. Все права защищены.
Ошибка:
Ошибка: Файл
Ошибка: «C: Users MyName Documents SVN Test bin Debug testProject1.dll»
Ошибка не найдена .

Таким образом, вы можете видеть, что я звоню правильно MSTest, но это утверждает, что путь не прав.

Но, если я открою командную строку VS вручную и введите тот же тот же путь, код работает без ошибок.

Что я делаю неправильно?

Это было полезно?

Решение

Возможно, это может быть проблемой разрешений, а не проблема FNF.

Запустите филемон, пока вы выполняете код и посмотрите, что на самом деле запрашивается на уровне ОС.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top