我为项目团队的开发人员提供了一个示例测试项目,以学习如何使用自动化测试。当我运行我所拥有的单元测试集时,它们都通过但我收到以下警告和错误:
警告:测试运行部署期间发生冲突:测试容器'[...] \ webappmvc4.tests.dll'直接或间接引用的部署项'[...] \ WebAppMvc4.dll'无法部署到' WebAppMvc4.dll'因为否则文件'[...] \ WebAppMvc4.dll'会覆盖'[...] \ webappmvc4.tests直接或间接引用的部署项'[...] \ WebAppMvc4.dll'。 DLL“
错误:无法初始化ASP.NET项目“WebAppMvc4”。 抛出异常:无法正确配置网站;获取ASP.NET进程信息失败。请求“http://localhost:12903/VSEnterpriseHelper.axd”返回错误:远程服务器返回错误:(500)内部服务器错误。
这与此处发现的问题非常相似:Test run errors with MSTest in VS2010
但是,此问题的解决方法与关闭项目属性中的Sign The Assembly复选框有关。此项目未启用签名,我无法确定警告/错误的原因。
以下是来自事件查看器的警告信息:
活动代码:3008 事件消息:发生了配置错误。 活动时间:2012年6月27日上午9:40:51 活动时间(UTC):2012年6月27日下午2:40:51 事件ID:a9b4d9d93e334acbbde6184527b4cd81 事件顺序:1 事件发生:1 活动详细代码:0
流程信息: 进程ID:4128 进程名称:WebDev.WebServer40.EXE
异常信息: 异常类型:ConfigurationErrorsException 异常消息:无法加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Common,Version = 5.0.505.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。强名称签名无法验证。程序集可能已被篡改,或者是延迟签名但未使用正确的私钥完全签名。 (HRESULT异常:0x80131045) 在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective) 在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() 在System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) 在System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) 在System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() 在System.Web.Compilation.BuildManager.CallPreStartInitMethods() 在System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)
无法加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Common”或其某个依赖项。强名称签名无法验证。程序集可能已被篡改,或者是延迟签名但未使用正确的私钥完全签名。 (HRESULT异常:0x80131045)
请求信息: 请求网址:
http://localhost:12903/VSEnterpriseHelper.axd
以下是错误的信息:
(QTAgent32.exe,PID 9392,Thread 7)CoveragePlugIn.InitAspNet投入调用了“WebAppMvc4”的WorkerProcessIdentity或WorkerProcessImpersonatedIdentity:
Microsoft.VisualStudio.Enterprise.Common.AspNetHelperException:无法正确配置网站;获取ASP.NET进程信息失败。
请求'http://localhost:12903/VSEnterpriseHelper.axd'返回错误:远程服务器返回错误:(500)内部服务器错误。 ---> System.Net.WebException:远程服务器返回错误:(500)内部服务器错误。
at System.Net.HttpWebRequest.GetResponse() 在Microsoft.VisualStudio.Enterprise.Common.BaseHelper.GetWorkerProcessInfo() ---内部异常堆栈跟踪结束--- 在Microsoft.VisualStudio.Enterprise.Common.BaseHelper.GetWorkerProcessInfo() 在Microsoft.VisualStudio.TestTools.CodeCoverage.CoveragePlugIn.InitAspNet(TestRun testRun)