RTVS 또는 PTVS 실행 시 Could not load type 'Microsoft.VisualStudio.InteractiveWindow.Shell.IVsInteractiveWindowFactory2'
"RTVS(R Tools for Visual Studio)" 또는 "PTVS(Python Tools for Visual Studio)"의 Interactive Shell을 실행하는 경우 다음과 같은 오류가 발생합니다.
The project system has encountered an error.
Could not load type 'Microsoft.VisualStudio.InteractiveWindow.Shell.IVsInteractiveWindowFactory2' from assembly 'Microsoft.VisualStudio.VsInteractiveWindow, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
A diagnostic log has been written to the following location: "%LOCALAPPDATA%\Temp\VsProjectFault_e5d95e5e-d16f-4742-b034-150d3abcad4a.failure.txt".
로그 파일을 보면 이런 내용이 포함되어 있습니다.
2017-06-19 오전 11:10:02
Recoverable
System.TypeLoadException: Could not load type 'Microsoft.VisualStudio.InteractiveWindow.Shell.IVsInteractiveWindowFactory2' from assembly 'Microsoft.VisualStudio.VsInteractiveWindow, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
at Microsoft.VisualStudio.R.Package.Repl.VsRInteractiveWindowComponentContainerFactory.Create(Int32 instanceId, IInteractiveEvaluator evaluator, IRSessionProvider sessionProvider)
at Microsoft.R.Components.InteractiveWorkflow.Implementation.RInteractiveWorkflow.<CreateVisualComponentAsync>d__48.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.Common.Core.TaskExtensions.ReThrowTaskException(Object state)
at Microsoft.Common.Core.TaskExtensions.DoNotWait(Task task)
at Microsoft.R.Components.InteractiveWorkflow.Implementation.RInteractiveWorkflow.GetOrCreateVisualComponentAsync(Int32 instanceId)
at Microsoft.VisualStudio.R.Package.ProjectSystem.RProjectLoadHooks.<InitializeProjectFromDiskAsync>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.UnconfiguredProjectImpl.AutoLoadMethodStateMachine.<<StartExecution>b__8_0>d.MoveNext()
관련해서 검색해 보면 이런 글이 나옵니다.
open interactive window error #2534
; https://github.com/Microsoft/PTVS/issues/2534
상황을 보니, 이건 진짜로 Microsoft.VisualStudio.VsInteractiveWindow 파일이 등록되어 있지 않아 발생하는 문제입니다. 따라서, 저 파일이 있는 위치로 이동해 gacutil.exe를 이용해 등록해 주면 됩니다.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\InteractiveWindow>gacutil /i Microsoft.VisualStudio.VsInteractiveWindow.dll
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.0
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly successfully added to the cache
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]