private FilePath GetPathToEntityFramework(DirectoryPath projectDir, ProjectAssemblyReference efReference) { var hintPath = efReference.HintPath; if (hintPath != null) { return(projectDir.GetRelativePath(hintPath)); } return(new FilePath(@"..\packages\EntityFramework.<TODO version>\lib\net45\EntityFramework.dll")); }
public ProjectAssemblyReference CreateFromProjectReferenceFilePath(string projectReferenceFilePath, string relativeIncludePath) { var projectConfig = _projectFileConfigurationFactory.Create(projectReferenceFilePath); var includeDefinition = _assemblyReferenceMetaDataFactory.CreateIncludeDefinition(projectConfig.PropertiesConfiguration.AssemblyName); var hintPath = _assemblyReferenceMetaDataFactory.CreateHintPath(relativeIncludePath, projectConfig); var result = new ProjectAssemblyReference(includeDefinition, hintPath, null, false); return(result); }
private ProjectAssemblyReference CreateAssemblyReferenceFromElement(XElement element) { var includeAttribute = element.Attributes("Include").First(); var hintPath = _xmlParsingService.TryParsingSubElementStringValue(element, "HintPath"); var isPrivate = _xmlParsingService.TryParsingSubElementBoolValue(element, "Private"); var specificVersion = _xmlParsingService.TryParsingSubElementBoolValue(element, "SpecificVersion"); var includeDefinition = CreateIncludeDefinitionFromAttribute(includeAttribute); var result = new ProjectAssemblyReference(includeDefinition, hintPath, isPrivate, specificVersion); return(result); }
public XElement CreateElement(ProjectAssemblyReference assemblyReference) { var result = new XElement(ProjectConfigConstants.AssemblyReferenceTagLocalName); result.Add(new XAttribute(ProjectConfigConstants.IncludeAttributeName, assemblyReference.IncludeDefinition.CreateOutput())); if (assemblyReference.SpecificVersion.HasValue) { result.Add(new XElement(ProjectConfigConstants.SpecificVersionTagName, assemblyReference.SpecificVersion)); } result.Add(new XElement(ProjectConfigConstants.HintPathTagName, assemblyReference.HintPath)); return(result); }
internal void RemoveReference(ProjectAssemblyReference reference) { var interp = Interpreter as IPythonInterpreterWithProjectReferences; if (interp != null) { interp.RemoveReference(reference); } }
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 static ProjectReference GetAssemblyReference(string kind, string name, string assemblyName) { ProjectReference reference; switch (kind) { case "assembly": reference = new ProjectAssemblyReference( new AssemblyName(assemblyName), name ); break; case "extension": reference = new ProjectReference(name, ProjectReferenceKind.ExtensionModule); break; default: throw new InvalidOperationException("Unsupported reference type: " + kind); } return reference; }