我在开发服务器上记录了堆栈跟踪。在堆栈跟踪中,它引用了本地计算机上的文件位置,而不是dev服务器上的文件位置。
有没有人见过这个?以下是我得到的部分示例(某些名称已更改为通用版本):
at Project_Service.Specific.ServersService.GetServers() in C:\Projects\XXX\MAIN\Project\Dashboard_v2.0\src\Project\Project_Service\Specific\ServersService.cs:line 51
at Project_Web.Controllers.ServersController.Index() in C:\Projects\XXX\MAIN\Project\Dashboard_v2.0\src\Project\Project_Web\Controllers\ServersController.cs:line 32
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
C:\ Projects文件夹位于我的本地计算机上。在开发服务器上,它是一个完全不同的位置。 该网站是在Visual Studio 2010中发布的。
答案 0 :(得分:4)
堆栈跟踪文件位置基于.PDB中的位置,该位置是在编译时创建的。
如果您发布.PDB,它将使用基于代码编译的系统的文件路径,而不是执行。