private void AddAnalyzedAssembly(IJInterpreter2 interp) { if (interp != null) { var asmName = AssemblyName; if (asmName != null) { _failedToAnalyze = false; _asmName = new AssemblyName(asmName); _curReference = new ProjectAssemblyReference(_asmName, ReferencedProjectOutputPath); var task = interp.AddReferenceAsync(_curReference); task.ContinueWith(new TaskFailureHandler(TaskScheduler.FromCurrentSynchronizationContext(), this).HandleAddRefFailure); } else { _failedToAnalyze = true; } } }
private void RemoveAnalyzedAssembly(IJInterpreter2 interp) { if (interp != null) { if (_curReference != null) { interp.RemoveReference(_curReference); _curReference = null; } } }
private void AnalyzeReference(IJInterpreter2 interp) { _failedToAnalyze = false; var task = interp.AddReferenceAsync(new ProjectReference(_filename, ProjectReferenceKind.ExtensionModule)); // check if we get an exception, and if so mark ourselves as a dangling reference. task.ContinueWith(new TaskFailureHandler(TaskScheduler.FromCurrentSynchronizationContext(), this).HandleAddRefFailure); }