Этот код приложения консоли вызывает MSTest и запускает единичный тест, но с «Access Denied» не работает с некоторыми сборками, требуемыми для модульного тестирования (см. Ошибки ниже кода). Любой способ плавного запуска MSTest для запуска в качестве администратора здесь?Как мне запустить MSTest как администратор при вызове из консольного приложения?
Я пробовал манифест, ничего не менял, поскольку манифест относится к вызывающему приложению, а не к mestest, правильно?
Также попытался указать ProcessStartInfo.Username и пароль, но Password хочет какую-то специальную SecureString, и это НЕ интерактивное консольное приложение, которое вызывается SVN на крюке pre-commit.
private static string MSTest()
{
if (File.Exists(@"C:\temp\TestProject1.trx"))
{
File.Delete(@"C:\temp\TestProject1.trx");
}
Process process = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe";
psi.Arguments = String.Format
(
"/testcontainer:{0} /resultsfile:{1} /nologo",
@"C:\Users\johndoe\Documents\SVN_TEST\Test\branches\johndoe\WebApplication1\TestProject1\bin\Debug\TestProject1.dll",
@"C:\temp\TestProject1.trx"
);
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
process.StartInfo = psi;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return output;
}
Ошибка: Фиксировать не удалась (подробности ниже):
Ошибки: Фиксировать заблокирована предварительно зафиксированный крюк (код выхода 1) с выходом:
Ошибка: Загрузка C: \ Users \ JohnDoe \ Documents \ SVN_TEST \ Test \ ветви \ JohnDoe \ WebApplication1 \ TestProject1 \ Bin \ Debug \ TestProject1.dll ...
Ошибка: Начало выполнения ...
Ошибка:
Ошибка: Результаты тестов верхнего уровня
Ошибка: ---- --- ---------------
Ошибка: ошибка stProject1.BankTest.DebitTest
Ошибка: 0/1 тест (ы) Зачет, 1 Ошибка
Ошибка:
Ошибка: Краткое
Ошибка: -------
Ошибка: Test Run Failed.
Ошибка: Ошибка 1
Ошибка: ---------
Ошибка: Всего 1
Ошибка: Результаты файла: C: \ Temp \ TestProject1.trx
Ошибка: Настройки тестирования: Настройки по умолчанию Test
Ошибка:
Ошибка: Run имеет следующий вопрос (ы):
Ошибка: Предупреждение: Тестовый прогон выпуск развертывания: Не удалось развернуть зависимости для теста
Ошибка: хранение
об ошибке: «C: \ Users \ JohnDoe \ документы \ svn_test \ Test \ ветви \ JohnDoe \ webapplication1 \ testproject1 \ Bin \ Debug \ тест Project1.dll ':
Ошибка: System.IO.FileLoadException: Не удалось загрузить файл или сборку
Ошибка:' Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver,
Ошибка: Version = 10.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a 'или один из
Ошибка: его зависимости. В доступе отказано.
Ошибка: Имя файла: 'Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver,
Ошибка: Version = 10.0.0.0, Culture = нейтрально, PublicKeyToken = b03f5f7f11d50a3a'
Ошибка: в System.Reflection.RuntimeAssembly._nLoad (AssemblyName имя_файла, строка
Ошибка: CodeBase, Доказательства assemblySecurity, RuntimeAssembly locationHint,
Ошибка: StackCrawlMark & stackMark, булева throwOnFileNotFound, булева
Ошибка: forIntrospection, Boolean suppressSecurityChecks)
Ошибка: в System.Reflection.RuntimeAssembly.nLoad (AssemblyName имя_файла, строка
Ошибка: CodeBase, Доказательства assemblySecurity, RuntimeAssembly locationHint,
Ошибка: StackCrawlMark & stackMark, булева throwOnFileNotFound, булева
Ошибка: forIntrospection, Boolean suppressSecurityChecks)
Ошибка: в System.Reflection.RuntimeAssembly. InternalLoadAssemblyName (AssemblyName
Ошибка: assemblyRef, фактические данные assemblySecurity, StackCrawlMark & stackMark, булева
Ошибка: forIntrospection, Boolean suppressSecurityChecks)
Ошибка: при System.Reflection.RuntimeAssembly.Intern alLoad (String assemblyString,
Ошибка: данные assemblySecurity, StackCrawlMark & stackMark, булева forIntrospection)
Ошибка: в System.Activator.CreateInstance (String AssemblyName, струнного TypeName,
Ошибка: Boolean IgnoreCase, BindingFlags bindingAttr, Связующее связующее, объект [] арг,
Ошибка: CultureInfo культуры, Object [] activationAttributes, фактические данные securityInfo,
Ошибка: StackCrawlMark & stackMark)
Ошибка: в System.Activator.CreateInstance (String AssemblyName, струнного TypeName,
Ошибка: Boolean IgnoreCase , Биндин Gflags bindingAttr, Связующее связующее, Object [] арг,
Ошибка: CultureInfo культуры, Object [] activationAttributes, фактические данные securityInfo)
Ошибка: в System.AppDomain.CreateInstance (String AssemblyName, струнного TypeName,
Ошибка: Boolean IgnoreCase, BindingFlags bindingAttr, связующее связующее, Object [] арг,
Ошибка: CultureInfo культуры, Object [] activationAttributes, Доказательства securityAttributes)
Ошибка: в System.AppDomain.CreateInstanceAndUnwrap (String, String AssemblyName
Ошибка: TypeName, булева IgnoreCase, BindingFlags bindingAttr, Binder binder, Object []
Ошибка: args, CultureInfo культура, Object [] activationAttributes, фактические данные securityAttributes)
Ошибка: в System.AppDomain.CreateInstanceAndUnwrap (String, String AssemblyName
Ошибка: TypeName, булева IgnoreCase, BindingFlags bindingAttr, Связующее Связующее, Object []
Ошибка: арг, CultureInfo культура, Object [] activationAttributes, фактические данные securityAttributes)
Ошибка: при
ошибка: Microsoft.VisualStudio.TestTools.Utility.AssemblyLoadStrategy.GetDependentAssemblies (String
Ошибка: путь)
Ошибка: в
Ошибка: Microsoft.VisualStudio .TestTools.Utility.As semblyHelper.GetDependentAssemblies (String
Ошибка: путь, DependentAssemblyOptions опции, строка CONFIGFILE)
Ошибка: при
ошибка: Microsoft.VisualStudio.TestTools.TestManagement.DeploymentManager.GetDependencies (String
Ошибка: мастер, String CONFIGFILE, TestRunConfiguration runConfig , DeploymentItemOrigin
Ошибка: dependencyOrigin, Список 1 dependencyDeploymentItems, Dictionary
2 missingDependentAssemblies)
Ошибка: при
Ошибка: Microsoft.VisualStudio.TestTools.TestManagement.DeploymentManager.ProcessNewStorage (String
Ошибка: testStorage, DeploymentHelper хелперы, DeploymentItemOriginType originType,
Ошибка: Список Ошибка: dependencyDeploymentItems, Dictionary`2 missingDependentAssemblies)