private void SetOptions(ProjectInfo project)
		{
			if (_noStdLib)
			{
				project.Properties[MSProp.NoStdLib] = true.ToString();
			}
			if (_strict)
			{
				List<string> resolveType = new List<string>();
				resolveType.Add("{HintPathFromItem}");
				if (!_noprojectrefs)
					resolveType.Add("{CandidateAssemblyFiles}");
                if (_framework >= FrameworkVersions.v40)
                    resolveType.Add("{TargetFrameworkDirectory}"); //TODO: unable to avoid this for System.Core?

				project.Properties[MSProp.AssemblySearchPaths] = String.Join(";", resolveType.ToArray());
				//C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets: line 441
				//{CandidateAssemblyFiles};$(ReferencePath);{HintPathFromItem};{TargetFrameworkDirectory};
				//{Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
				//{AssemblyFolders};{GAC};{RawFileName};$(OutputPath)
				// 3.5 uses $(OutDir) rather than $(OutputPath)
			}
		}
Esempio n. 2
0
 public WorkItem(ProjectInfo proj) 
 {
     Project = proj;
     FullName = proj.ProjectFile;
     Depends = new List<string>();
 }
Esempio n. 3
0
		public ProjectPostBuildEventArgs(ProjectInfo project, bool bFailed)
			: base(false)
		{
			_project = project;
			_failed = bFailed;
		}
Esempio n. 4
0
		public ProjectPreBuildEventArgs(ProjectInfo project, string[] targets)
			: base(false)
		{
			_project = project;
			_targets = targets;
		}
Esempio n. 5
0
		public ProjectLoadedEventArgs(ProjectInfo project)
			: base(false)
		{
			_project = project;
		}
 public WorkItem(ProjectInfo proj)
 {
     Project  = proj;
     FullName = proj.ProjectFile;
     Depends  = new List <string>();
 }
Esempio n. 7
0
		protected CancelEventArgs OnProjectPostBuild(ProjectInfo proj, bool bFailed)
		{
			if (ProjectPostBuild != null)
			{
				ProjectPostBuildEventArgs args = new ProjectPostBuildEventArgs(proj, bFailed);
				ProjectPostBuild(this, args);
				return args;
			}
			return ContinueResponse;
		}
Esempio n. 8
0
		protected CancelEventArgs OnProjectPreBuild(ProjectInfo proj, ref string[] targets)
		{
			if (ProjectPreBuild != null)
			{
				ProjectPreBuildEventArgs args = new ProjectPreBuildEventArgs(proj, targets);
				ProjectPreBuild(this, args);
				targets = args.Targets;
				return args;
			}
			return ContinueResponse;
		}
Esempio n. 9
0
		protected CancelEventArgs OnProjectLoaded(ProjectInfo proj)
		{
			if (ProjectLoaded != null)
			{
				ProjectLoadedEventArgs args = new ProjectLoadedEventArgs(proj);
				ProjectLoaded(this, args);
				return args;
			}
			return ContinueResponse;
		}
Esempio n. 10
0
		public void UnloadProject(ProjectInfo project)
		{
			Engine.UnloadProject(project.MsProject);
		}
Esempio n. 11
0
		public ProjectInfo LoadProject(string projFile)
		{
			object[] ctorargs = new object[] { Engine };
			if (Is35OrLater)
				ctorargs = new object[] { Engine, FrameworkVersionString };

			Project prj = (Project)typeof(Project).InvokeMember(null, BindingFlags.CreateInstance, null, null, ctorargs);
			try
			{
				prj.Load(projFile);
			}
			catch (Exception e)
			{
				Log.Error("Invalid Project: {0}\r\n\t{1}", projFile, e.Message);
				throw;
			}

			ProjectInfo project = new ProjectInfo(prj);
			if (OnProjectLoaded(project).Cancel)
			{
				UnloadProject(project);
				throw new OperationCanceledException();
			}
			return project;
		}