2012-06-18 7 views
2

Сегодня утром я установил Visual Studio 2012 Ultimate RC, узнав о IntelliTrace на TechEd на прошлой неделе. В настоящее время мы используем VS 2010 Professional, поэтому использование RC 2012 года было моим единственным простым вариантом для тестирования IntelliTrace.Исключение исключения Visual Studio 2012 RC при попытке использования IntelliTrace с информацией о вызове в проекте с миграцией

Я открыл VS 2012 Ultimate RC и открыл проект MVC 3, который был написан на VS 2010 года. IntelliTrace работает отлично, если у меня установлен «Только события IntelliTrace». Если установить его на «IntelliTrace события и информацию о вызове», однако, я получаю исключение при запуске отладчика:

System.Reflection.TargetInvocationException was unhandled 
HResult=-2146232828 
Message=Exception has been thrown by the target of an invocation. 
Source=mscorlib 
StackTrace: 
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 
    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) 
    at System.Web.HttpApplication.InvokeMethodWithAssert(MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs) 
    at System.Web.HttpApplication.ProcessSpecialRequest(HttpContext context, MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs, HttpSessionState session) 
    at System.Web.HttpApplicationFactory.FireApplicationOnStart(HttpContext context) 
    at System.Web.HttpApplicationFactory.EnsureAppStartCalled(HttpContext context) 
    at System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) 
    at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) 
    at System.Web.HttpRuntime.ProcessRequestNow(HttpWorkerRequest wr) 
    at System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr) 
    at System.Web.HttpRuntime.ProcessRequest(HttpWorkerRequest wr) 
    at Microsoft.VisualStudio.WebHost.Request.Process() 
    at Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Connection conn) 
    at Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Connection conn) 
    at Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(Object acceptedSocket) 
    at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
    at System.Threading.ThreadPoolWorkQueue.Dispatch() 
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 
InnerException: System.AccessViolationException 
    HResult=-2147467261 
    Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 
    StackTrace: 
    InnerException: 

Проблема, кажется, где-то в записи функции к Microsoft.VisualStudio.WebHost.Server.OnSocketAccept , Я понятия не имею, что это такое.

Я играл некоторые и обнаружили, что:

  • Проблема не возникает, если открыть проект веб-форм, который был создан в VS 2010.
  • Проблема не возникает, если я создаю новый проект MVC 3 в VS 2012 RC.
  • Проблема возникает только тогда, когда я открываю проект MVC 3, который был создан в VS 2010.

Я озадачен о том, как попытаться это исправить, кроме создания нового проекта в VS 2012 RC и копируя весь код, который я бы предпочел не делать для каждого проекта, который у нас есть. Это может быть ошибка в VS 2012 RC, я не знаю. Я также хочу отметить, что я также получаю сообщение об ошибке «Не могу найти или открыть файл PDB», который появляется с последним событием на выходе IntelliTrace, но не уверен, что он подключен. Любая помощь была бы потрясающей.

ответ

2

Похоже, вы попали в ошибку, которую недавно исправили в Intellitrace, но я не могу быть уверен, только глядя на стек вызовов. Можете ли вы попробовать и сообщить мне, можете ли вы ударить исключение, если не отлаживаете «Сервер веб-разработки»?

Чтобы использовать сервер IIS вместо сервера веб-разработки, откройте свойство проекта, выберите вкладку «Веб» и выберите «Использовать локальный веб-сервер IIS». Сервер веб-разработки по умолчанию выбран в проекте, созданном VS2010, но по умолчанию для созданного проекта VS2012 «Сервер IIS».

+0

Удивительно, изменив его на IIS Server, он исправил его. Никогда бы не подумал об этом - спасибо! – Devin

+0

Эта ошибка будет исправлена ​​в RTM VS2012. К тому времени вы сможете использовать сервер веб-разработки с Intellitrace. –