コード例 #1
0
ファイル: XProject.cs プロジェクト: nathan8299/XSharpPublic
        public void UpdateAssemblyReference(string fileName)
        {
            var assemblyInfo = SystemTypeController.LoadAssembly(fileName);

            //assemblyInfo.UpdateAssembly();
            assemblyInfo.AddProject(this);
        }
コード例 #2
0
ファイル: XProject.cs プロジェクト: nathan8299/XSharpPublic
        public void AddAssemblyReference(string path)
        {
            var assemblyInfo = SystemTypeController.LoadAssembly(path);

            _AssemblyReferences.Add(assemblyInfo);
            assemblyInfo.AddProject(this);
        }
コード例 #3
0
ファイル: XProject.cs プロジェクト: nathan8299/XSharpPublic
        public void AddAssemblyReference(VSLangProj.Reference reference)
        {
            var assemblyInfo = SystemTypeController.LoadAssembly(reference);

            _AssemblyReferences.Add(assemblyInfo);
            assemblyInfo.AddProject(this);
        }
コード例 #4
0
ファイル: XProject.cs プロジェクト: nathan8299/XSharpPublic
 public XProject(IXSharpProject project)
 {
     _projectNode         = project;
     xSourceFilesDict     = new ConcurrentDictionary <string, XFile>(StringComparer.OrdinalIgnoreCase);
     xOtherFilesDict      = new ConcurrentDictionary <string, XFile>(StringComparer.OrdinalIgnoreCase);
     this._typeController = new SystemTypeController();
     this._loaded         = true;
     if (_projectNode == null)
     {
     }
 }
コード例 #5
0
 public static bool Remove(string projectName)
 {
     if (xProjects.ContainsKey(projectName))
     {
         var project = xProjects[projectName];
         // Flag as unloaded to make sure that a running file walker
         // for the project gets aborted
         project.UnLoad();
         var result = xProjects.TryRemove(projectName, out project);
         SystemTypeController.UnloadUnusedAssemblies();
         return(result);
     }
     return(false);
 }
コード例 #6
0
ファイル: XProject.cs プロジェクト: nathan8299/XSharpPublic
 public void ResolveProjectReferenceDLLs()
 {
     if (hasUnprocessedReferences)
     {
         ResolveUnprocessedProjectReferences();
         ResolveUnprocessedStrangerReferences();
     }
     foreach (var DLL in _projectOutputDLLs.Values)
     {
         if (SystemTypeController.FindAssemblyByLocation(DLL) == null)
         {
             AddAssemblyReference(DLL);
         }
     }
 }
コード例 #7
0
 public static void CloseAll()
 {
     xProjects.Clear();
     SystemTypeController.Clear();
     if (_orphanedFilesProject != null)
     {
         if (xProjects.TryAdd(OrphanedFiles, _orphanedFilesProject))
         {
             foreach (var asm in _orphanedFilesProject.AssemblyReferences)
             {
                 SystemTypeController.LoadAssembly(asm.FileName);
             }
         }
     }
 }