這個控制檯應用程序代碼調用MSTest並開始運行單元測試,但是對於單元測試所需的某些程序集(請參閱代碼下面的錯誤)「拒絕訪問」失敗。任何方式順利使MSTest從這裏作爲管理員運行?如何從控制檯應用程序調用MSTest以管理員身份運行?
我試過一個清單,沒有改變任何東西,因爲清單指的是調用應用程序,而不是mstest,對不對?
還試過指定ProcessStartInfo.Username和Password,但Password需要一些特殊的SecureString,這不是一個交互式控制檯應用程序,它由SVN在預提交鉤子上調用。
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;
}
錯誤:提交失敗(細節如下):
錯誤:提交阻斷pre-commit鉤子(退出代碼1)輸出:
錯誤:加載C:\ Users \用戶輸入johndoe \文件\ SVN_TEST \測試\分支機構\ johndoe的\ WebApplication1 \ TestProject1 \ BIN \調試\ TestProject1.dll ...
錯誤:開始執行...
錯誤:
錯誤:結果的頂部級測試
錯誤:---- --- ---------------
錯誤:失敗的Te stProject1.BankTest.DebitTest
錯誤:0/1測試(多個)通過,1未能
錯誤:
錯誤:摘要
錯誤:-------
錯誤:測試運行失敗。
錯誤:無法1個
錯誤:---------
錯誤:合計1
錯誤:結果文件:C:\ TEMP \ TestProject1.trx
錯誤:測試設置:默認測試設置
錯誤:
錯誤:運行有以下問題(補):
錯誤:警告:測試運行部署問題:無法爲測試
錯誤部署的依賴關係:存儲
錯誤:「C:\用戶\輸入johndoe \文件\ svn_test \測試\分支機構\ johndoe的\ webapplication1 \ testproject1 \ BIN \調試\測試project1.dll':
錯誤:System.IO.FileLoadException:無法加載文件或組件
錯誤:Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver,
錯誤:版本= 10.0.0.0,文化=中立,PublicKeyToken = b03f5f7f11d50a3a'或其中一個
錯誤:其依賴關係。訪問被拒絕。
錯誤:文件名: 'Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver,
錯誤:版本= 10.0.0.0,文化=中性公鑰= b03f5f7f11d50a3a'
錯誤:在System.Reflection.RuntimeAssembly._nLoad (的AssemblyName文件名,字符串
錯誤:代碼庫,證據assemblySecurity,RuntimeAssembly locationHint,
錯誤:StackCrawlMark & stackMark,布爾throwOnFileNotFound,布爾
錯誤:forIntrospection,布爾suppressSecurityChecks)
錯誤:在System.Reflection.RuntimeAssembly。n載入(的AssemblyName文件名,字符串
錯誤:代碼庫,證據assemblySecurity,RuntimeAssembly locationHint,
錯誤:StackCrawlMark & stackMark,布爾throwOnFileNotFound,布爾
錯誤:forIntrospection,布爾suppressSecurityChecks)
錯誤:在System.Reflection.RuntimeAssembly。 InternalLoadAssemblyName(的AssemblyName
錯誤:assemblyRef,證據assemblySecurity,StackCrawlMark & stackMark,布爾
錯誤:forIntrospection,布爾suppressSecurityChecks)
錯誤:在System.Reflection.RuntimeAssembly.Intern alLoad(字符串assemblyString,
錯誤:證據assemblySecurity,StackCrawlMark & stackMark,布爾forIntrospection)
錯誤:在System.Activator.CreateInstance(字符串的AssemblyName,字符串的typeName,
錯誤:布爾IGNORECASE,的BindingFlags bindingAttr,粘結劑粘結劑,對象[]指定參數時,
錯誤:CultureInfo的文化,對象[] activationAttributes,證據securityInfo,
錯誤:StackCrawlMark & stackMark)
錯誤:在System.Activator.CreateInstance(字符串的AssemblyName,字符串的typeName,
錯誤:布爾IGNORECASE ,Bindin GFLAGS bindingAttr,粘結劑粘結劑,對象[]指定參數時,
錯誤:CultureInfo的文化,對象[] activationAttributes,證據securityInfo)
錯誤:在System.AppDomain.CreateInstance(字符串的AssemblyName,字符串的typeName,
錯誤:布爾IGNORECASE,的BindingFlags bindingAttr,粘結劑粘結劑,對象[]指定參數時,
錯誤:CultureInfo的文化,對象[] activationAttributes,證據securityAttributes)
錯誤:在System.AppDomain.CreateInstanceAndUnwrap(字符串的AssemblyName,字符串
錯誤:的typeName,布爾IGNORECASE, BindingFlags bindingAttr,活頁夾活頁夾,對象[]
錯誤:args,CultureInfo培養,對象[] activationAttributes,證據securityAttributes)
錯誤:在System.AppDomain.CreateInstanceAndUnwrap(字符串的AssemblyName,字符串
錯誤:的typeName,布爾IGNORECASE,的BindingFlags bindingAttr,粘結劑粘結劑,對象[]
錯誤:指定參數時,CultureInfo的培養,對象[] activationAttributes,證據securityAttributes)
錯誤:在
錯誤:Microsoft.VisualStudio.TestTools.Utility.AssemblyLoadStrategy.GetDependentAssemblies(字符串
錯誤:路徑)
錯誤:在
錯誤:Microsoft.VisualStudio .TestTools.Utility.As semblyHelper.GetDependentAssemblies(字符串
錯誤:路徑,DependentAssemblyOptions選項,字符串CONFIGFILE)
錯誤:在
錯誤:Microsoft.VisualStudio.TestTools.TestManagement.DeploymentManager.GetDependencies(字符串
錯誤:大師,字符串CONFIGFILE,TestRunConfiguration runConfig ,DeploymentItemOrigin
錯誤:dependencyOrigin,列表1 dependencyDeploymentItems, Dictionary
2 missingDependentAssemblies)
錯誤:在
錯誤:Microsoft.VisualStudio.TestTools.TestManagement.DeploymentManager。ProcessNewStorage(字符串
錯誤:testStorage,DeploymentHelper幫手,DeploymentItemOriginType originType,
錯誤:列表 錯誤:dependencyDeploymentItems,Dictionary`2 missingDependentAssemblies)