public void DoOnProjectModifyingStart(VSLangProj.VSProject project) { if (this.OnProjectModifyingStart != null) { this.OnProjectModifyingStart(project); } }
static public VSLangProj.Reference AddDllReferenceToProject(Project proj, string dllReference) { if (proj == null) { throw new Exception("Invalid Project parameter"); } if (dllReference.Equals(string.Empty) || dllReference.Equals("")) { throw new Exception("Invalid dllReference parameter"); } VSLangProj.Reference reference = null; VSLangProj.VSProject vsProject = (VSLangProj.VSProject)proj.Object; reference = vsProject.References.Find(dllReference); if (reference == null) { try { reference = vsProject.References.Add(dllReference); } catch (Exception ex) { //ErrorHandler.HandleException(ex); Logger.LogException(ex); } } return(reference); }
private void ResolveActiveProjectsReferencesInternal(ResolveReferencesCommandModel selectedCommandModel) { this.Worker.ReportProgress(0, this.Info.OnStartResolving); EnvDTE.DTE instanceService = this.package.GetDteService(); Dictionary <string, ReferenceModel> availableReplaceReferences = this.GetAvailableReplaceReferences(selectedCommandModel); Dictionary <string, ReferenceModel> referencesThanMustBeAdded = this.GetReferencesThatMustBeAdded(selectedCommandModel); try { foreach (EnvDTE.Project projectItem in (IEnumerable)instanceService.DTE.ActiveSolutionProjects) { VSLangProj.VSProject project = (projectItem.Object as VSLangProj.VSProject); if (project != null) { this.ResolveProjectReferences(project, availableReplaceReferences, referencesThanMustBeAdded); } } } catch (Exception ex) { this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnException(ex); })); } this.Worker.ReportProgress(100, this.Info.OnFinishedResolving); }
public void DoOnProjectModifyingEnd(VSLangProj.VSProject project) { if (this.OnProjectModifyingEnd != null) { this.OnProjectModifyingEnd(project); } }
private void ResolveProjectReferences(VSLangProj.VSProject project, Dictionary <string, ReferenceModel> availableReplaceReferences, Dictionary <string, ReferenceModel> referencesThanMustBeAdded) { this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnProjectModifyingStart(project); })); VSLangProj.References existingRefs = project.References; List <VSLangProj.Reference> refsToRemove; Dictionary <string, ReferenceModel> refsToAdd; this.GetReferencesToAddAndRemove(existingRefs, availableReplaceReferences, referencesThanMustBeAdded, out refsToRemove, out refsToAdd); for (int i = 0; i < refsToRemove.Count; i++) { VSLangProj.Reference refToRemove = refsToRemove[i]; ReferenceModel refModelToRemove = new ReferenceModel(refToRemove.Name, refToRemove.Path); refToRemove.Remove(); this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnReferenceRemoved(refModelToRemove); })); } foreach (KeyValuePair <string, ReferenceModel> refToAdd in refsToAdd) { existingRefs.Add(refToAdd.Value.Path); this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnReferenceAdded(refToAdd.Value); })); } this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnProjectModifyingEnd(project); })); }
public SelectContextFrm(Dictionary<string, string> beDic, string projectName, VSLangProj.VSProject curProj) { InitializeComponent(); this.BEList = beDic; this.projectName = projectName; this.CurProj = curProj; }
/// <summary> /// Outputs the code. /// </summary> /// <param name="tempFilePath">The temp file path.</param> /// <param name="sharePointInstallPath">The share point install path.</param> internal static void OutputCode(string tempFilePath, string sharePointInstallPath) { EnvDTE.Project activeProject = DTEManager.ActiveProject; if (activeProject != null) { try { activeProject.ProjectItems.AddFromFileCopy(tempFilePath); File.Delete(tempFilePath); // add reference to Microsoft.SharePoint.Linq VSLangProj.VSProject vsProject = (VSLangProj.VSProject)activeProject.Object; vsProject.References.Add(Path.Combine(sharePointInstallPath, @"ISAPI\Microsoft.SharePoint.Linq.dll")); } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { string code = File.ReadAllText(tempFilePath); File.Delete(tempFilePath); DTEManager.CreateNewTextFile(Path.GetFileName(tempFilePath), code); } }
public void ResolveSingleProjectReferences(VSLangProj.VSProject project, ResolveReferencesCommandModel selectedCommandModel) { if (!this.Worker.IsBusy) { this.AttachToWorkerEventsWhenResolvingSingleProject(); this.Worker.RunWorkerAsync(new Tuple <VSLangProj.VSProject, ResolveReferencesCommandModel>(project, selectedCommandModel)); } }
public static void ShowReferences(Project project) { VSLangProj.VSProject vsProject = project.Object as VSLangProj.VSProject; foreach (VSLangProj.Reference p in vsProject.References) { System.Diagnostics.Debug.WriteLine(p.Name); } }
private void Worker_DoWorkWhenResolvingSingleProject(object sender, DoWorkEventArgs e) { var arguments = (Tuple <VSLangProj.VSProject, ResolveReferencesCommandModel>)e.Argument; VSLangProj.VSProject project = arguments.Item1; ResolveReferencesCommandModel selectedCommandModel = arguments.Item2; this.ResolveSingleProjectReferencesInternal(project, selectedCommandModel); }
public TestVisualBasicVSImports(VSLangProj.VSProject vsProject, IProjectThreadingService threadingService, IActiveConfiguredValue <ConfiguredProject> activeConfiguredProject, IProjectAccessor projectAccessor, IUnconfiguredProjectVsServices unconfiguredProjectVSServices, TestVisualBasicNamespaceImportsList importsList) : base(vsProject, threadingService, activeConfiguredProject, projectAccessor, unconfiguredProjectVSServices, importsList) { _testImportsList = importsList; }
void IDisposable.Dispose() { if (vsproject != null) { vsproject = null; vsproject.Events.ReferencesEvents.ReferenceAdded -= new VSLangProj._dispReferencesEvents_ReferenceAddedEventHandler(ReferencesEvents_ReferenceAdded); vsproject.Events.ReferencesEvents.ReferenceRemoved -= new VSLangProj._dispReferencesEvents_ReferenceRemovedEventHandler(ReferencesEvents_ReferenceRemoved); vsproject.Events.ReferencesEvents.ReferenceChanged -= new VSLangProj._dispReferencesEvents_ReferenceChangedEventHandler(ReferencesEvents_ReferenceRemoved); } }
public Project([NotNull] Solution solution, [NotNull] EnvDTE.Project project) { Solution = solution; _project = project; _vsProject = project.TryGetObject() as VSLangProj.VSProject; Debug.Assert(_project.UniqueName != null); UniqueName = _project.UniqueName; _projectTypeGuids = _project.GetProjectTypeGuids(); }
static public VSLangProj.References GetProjectReferences(Project project) { if (project == null) { throw new Exception("Invalid Project parameter"); } VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; return(vsProject.References); }
public bool ContainsEfSqlCeReference(Project project) { VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; for (int i = 1; i < vsProject.References.Count + 1; i++) { if (vsProject.References.Item(i).Name == "EntityFramework.SqlServerCompact" && new Version(vsProject.References.Item(i).Version) >= new Version(6, 0, 0, 0)) { return(true); } } return(false); }
internal bool ContainsEfsqLiteReference(Project project) { VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; for (int i = 1; i < vsProject.References.Count + 1; i++) { if (vsProject.References.Item(i).Name == "System.Data.SQLite.EF6" && new Version(vsProject.References.Item(i).Version) >= new Version(1, 0, 93, 0)) { return(true); } } return(false); }
public void how_to_convert_MSBuild_Project_to_VsLangProject() { // Say you got an MSBuild Project somehow. Microsoft.Build.Evaluation.Project project = this.MsBuildLibrary; VSLangProj.VSProject vsProject = project.Adapt().AsVsLangProject(); Assert.IsNotNull(vsProject); // Use the project, for example, to create the Web References folder EnvDTE.ProjectItem folder = vsProject.CreateWebReferencesFolder(); Assert.IsNotNull(folder); }
public void how_to_convert_IVsProject_to_VSProject() { // Say you got an IVsProject somehow. IVsProject vsProject = this.IVsLibrary; VSLangProj.VSProject langProject = vsProject.Adapt().AsVsLangProject(); Assert.IsNotNull(langProject); // Use the project, for example, to create the Web References folder EnvDTE.ProjectItem folder = langProject.CreateWebReferencesFolder(); Assert.IsNotNull(folder); }
public VSMDPythonProvider(VSLangProj.VSProject project) { if (project == null) throw new ArgumentNullException("project"); vsproject = project; // Create the provider this.ReferencesEvents_ReferenceRemoved(null); vsproject.Events.ReferencesEvents.ReferenceAdded += new VSLangProj._dispReferencesEvents_ReferenceAddedEventHandler(ReferencesEvents_ReferenceAdded); vsproject.Events.ReferencesEvents.ReferenceRemoved += new VSLangProj._dispReferencesEvents_ReferenceRemovedEventHandler(ReferencesEvents_ReferenceRemoved); vsproject.Events.ReferencesEvents.ReferenceChanged += new VSLangProj._dispReferencesEvents_ReferenceChangedEventHandler(ReferencesEvents_ReferenceRemoved); }
static public void RemoveReferenceFromProject(int index, Project project) { try { VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; vsProject.References.Item(index).Remove(); } catch (Exception ex) { //ignore... Logger.LogException(ex); } }
public Project([NotNull] Solution solution, [NotNull] EnvDTE.Project project) { Contract.Requires(solution != null); Contract.Requires(project != null); _solution = solution; _project = project; _vsProject = project.TryGetObject() as VSLangProj.VSProject; Contract.Assume(_project.UniqueName != null); _uniqueName = _project.UniqueName; _projectTypeGuids = _project.GetProjectTypeGuids(); }
public static InteractionDataParameter GetAllReferenceStructures() { if (dteSolution == null) // Get the current instance of VS { dteSolution = SeekDTE2InstanceFromROT(String.Format("!VisualStudio.DTE.9.0:{0}", Process.GetCurrentProcess().Id)) as DTE2; } // Get the active project Array activeProjects = (Array)dteSolution.ActiveSolutionProjects; EnvDTE.Project currentProject = activeProjects.GetValue(0) as EnvDTE.Project; // Get a reference to the current Visual Studio Project VSLangProj.VSProject vsProject = currentProject.Object as VSLangProj.VSProject; // Create an app domain for loading new assemblies, load the assemblies, // and get all interations unsing the interaction list proxy class AppDomain dllDomain = AppDomain.CreateDomain("MessageFactoryWizard"); dllDomain.Load(Assembly.GetExecutingAssembly().FullName); StructureListProxyClass ilpc = dllDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, "MARC.Everest.VisualStudio.Wizards.Proxy.StructureListProxyClass") as StructureListProxyClass; // Load references foreach (VSLangProj.Reference reference in vsProject.References) { if (reference.Type == VSLangProj.prjReferenceType.prjReferenceTypeAssembly) // Project Assembly, search AppDomain { ilpc.LoadAssembly(reference.Path); } } // Get the strucutres in the referenced assemblies then copy them to the // parameters InteractionDataParameter parm = new InteractionDataParameter(); parm.Structures = ilpc.GetStructures(); parm.Name = "structures"; if (parm.Structures == null) { throw new InvalidOperationException("You must make a reference to the MARC.Everest assembly before adding a new structure"); } // Unload the app domain AppDomain.Unload(dllDomain); return(parm); }
static public int GetReferenceIndexFromProject(string referenceName, Project project) { VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; int index = 0; foreach (VSLangProj.Reference projRef in vsProject.References) { index++; if (projRef.Name.Equals(referenceName)) { return(index); } } return(index); }
// This method is never used and tested! public void ResolveSelectedProjectReferences(ResolveReferencesCommandModel selectedCommandModel) { if (this.EnsureNotResolving()) { object selectedObject = this.GetSelectedContextMenuItem(); VSLangProj.VSProject project = selectedObject as VSLangProj.VSProject; if (project != null) { ReferenceResolver resolver = this.PrepareReferenceResolverWithDialog(); resolver.ResolveSingleProjectReferences(project, selectedCommandModel); } } }
public VSMDComposeStarProvider(VSLangProj.VSProject project) { if (project == null) { throw new ArgumentNullException("project"); } vsproject = project; // Create the provider this.ReferencesEvents_ReferenceRemoved(null); vsproject.Events.ReferencesEvents.ReferenceAdded += new VSLangProj._dispReferencesEvents_ReferenceAddedEventHandler(ReferencesEvents_ReferenceAdded); vsproject.Events.ReferencesEvents.ReferenceRemoved += new VSLangProj._dispReferencesEvents_ReferenceRemovedEventHandler(ReferencesEvents_ReferenceRemoved); vsproject.Events.ReferencesEvents.ReferenceChanged += new VSLangProj._dispReferencesEvents_ReferenceChangedEventHandler(ReferencesEvents_ReferenceRemoved); }
private void AddXleModelProject() { if (currentProject == null) { return; } Solution2 solution = (Solution2)applicationObject.Solution; string dirPath = Path.GetDirectoryName(solution.FullName) + "\\XleModel"; FileHelper.DirectoryCopy(AssemblyDirectory + "\\templates\\XleModel", dirPath, true); xleModelProject = solution.AddFromFile(dirPath + "\\XleModel.csproj"); VSLangProj.VSProject project = (VSLangProj.VSProject)currentProject.Object; project.References.AddProject(xleModelProject); }
private void SetProjectReferences() { var allProjects = new Dictionary <string, Project>(); foreach (Project prj in _solution.Projects) { if (prj.Name.EndsWith(".Client")) { allProjects["client"] = prj; } else if (prj.Name.EndsWith(".Client.WPF")) { allProjects["wpf"] = prj; } else if (prj.Name.EndsWith(".Common")) { allProjects["common"] = prj; } else if (prj.Name.EndsWith(".Server")) { allProjects["server"] = prj; } } foreach (Project prj in _solution.Projects) { VSLangProj.VSProject vsProj = (VSLangProj.VSProject)prj.Object; if (prj.Name.EndsWith(".Common")) { } else if (prj.Name.EndsWith(".Client")) { vsProj.References.AddProject(allProjects["common"]).CopyLocal = false; } else if (prj.Name.EndsWith(".Client.WPF")) { vsProj.References.AddProject(allProjects["common"]).CopyLocal = false; vsProj.References.AddProject(allProjects["client"]).CopyLocal = false; } else if (prj.Name.EndsWith(".Server")) { vsProj.References.AddProject(allProjects["common"]).CopyLocal = false; } } }
private void ResolveSingleProjectReferencesInternal(VSLangProj.VSProject project, ResolveReferencesCommandModel selectedCommandModel) { this.Worker.ReportProgress(0, this.Info.OnStartResolving); Dictionary <string, ReferenceModel> availableReplaceReferences = this.GetAvailableReplaceReferences(selectedCommandModel); Dictionary <string, ReferenceModel> referencesThanMustBeAdded = this.GetReferencesThatMustBeAdded(selectedCommandModel); try { this.ResolveProjectReferences(project, availableReplaceReferences, referencesThanMustBeAdded); } catch (Exception ex) { this.Worker.ReportProgress(50, GetAction(() => { this.Info.DoOnException(ex); })); } this.Worker.ReportProgress(100, this.Info.OnFinishedResolving); }
public static bool AddAssemblyReference(EnvDTE.Project project, string assembliesDir, string component) { string path = Path.Combine(assembliesDir, string.Format("{0}.dll", component)); VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; try { VSLangProj80.Reference3 reference = (VSLangProj80.Reference3)vsProject.References.Add(path); TrySetCopyLocal(reference); TrySetSpecificVersion(reference); TrySetHintPath(reference); return(true); } catch (COMException) { } return(false); }
public List <Assembly> GetReferences() { Project project = dte.Solution.Projects.Item(1); List <Assembly> list = new List <Assembly>(); if (project.Object is VSLangProj.VSProject) { VSLangProj.VSProject vsproject = (VSLangProj.VSProject)project.Object; foreach (VSLangProj.Reference reference in vsproject.References) { try { if (reference.StrongName) { //System.Configuration, Version=2.0.0.0, //Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A list.Add(Assembly.Load( reference.Identity + ", Version=" + reference.Version + ", Culture=" + (string.IsNullOrEmpty(reference.Culture) ? "neutral" : reference.Culture) + ", PublicKeyToken=" + reference.PublicKeyToken)); } else { list.Add(Assembly.Load(reference.Path)); } } catch (System.IO.FileLoadException ex) { } } } else if (project.Object is VsWebSite.VSWebSite) { VsWebSite.VSWebSite vswebsite = (VsWebSite.VSWebSite)project.Object; foreach (VsWebSite.AssemblyReference reference in vswebsite.References) { list.Add(Assembly.Load(reference.StrongName)); } } return(list); }
public static bool AddAssemblyReference(EnvDTE.Project project, String component) { VSLangProj.VSProject vsProject = (VSLangProj.VSProject)project.Object; try { VSLangProj80.Reference3 reference = (VSLangProj80.Reference3)vsProject.References.Add(component + ".dll"); reference.CopyLocal = true; // // We set SpecificVersion to false so that references still work // when Ice Home setting is updated. // reference.SpecificVersion = false; return(true); } catch (COMException) { } return(false); }
public static IEnumerable <Project> GetReferencedProjets(Project project, bool includeTheProjectItselfAmondTheResults = false) { if (project.Object is VSLangProj.VSProject) { VSLangProj.VSProject vsproject = (VSLangProj.VSProject)project.Object; foreach (VSLangProj.Reference reference in vsproject.References) { Project referencedProject = reference.SourceProject; if (referencedProject != null) { yield return(referencedProject); } } } if (includeTheProjectItselfAmondTheResults) { yield return(project); } }
public override void TestInitialize() { base.TestInitialize(); base.OpenSolution("SampleSolution\\SampleSolution.sln"); Solution = DevEnv.Get(ServiceProvider).SolutionExplorer().Solution; Assert.IsNotNull(Solution); LibraryNode = Solution.FindProjects(p => p.DisplayName == "ClassLibrary").First(); Assert.IsNotNull(LibraryNode); DteLibrary = LibraryNode.As<Project>(); IVsLibrary = LibraryNode.As<IVsProject>(); VsLangLibrary = LibraryNode.As<VSLangProj.VSProject>(); Assert.IsNotNull(DteLibrary); Assert.IsNotNull(IVsLibrary); Assert.IsNotNull(VsLangLibrary); }