Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / Microsoft / Build / Tasks / Xaml / CompilationPass2Task.cs / 1305376 / CompilationPass2Task.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace Microsoft.Build.Tasks.Xaml { using System; using System.Collections.Generic; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using System.Reflection; using System.Runtime; [Fx.Tag.XamlVisible(true)] public class CompilationPass2Task : Task { public CompilationPass2Task() { } [Fx.Tag.KnownXamlExternal] public ITaskItem[] ApplicationMarkup { get; set; } public string AssemblyName { get; set; } [Fx.Tag.KnownXamlExternal] public ITaskItem[] References { get; set; } public string LocalAssemblyReference { get; set; } public string RootNamespace { get; set; } public string BuildTaskPath { get; set; } public override bool Execute() { AppDomain appDomain = null; try { appDomain = XamlBuildTaskServices.CreateAppDomain("CompilationPass2AppDomain_" + Guid.NewGuid(), BuildTaskPath); CompilationPass2TaskInternal wrapper = (CompilationPass2TaskInternal)appDomain.CreateInstanceAndUnwrap( Assembly.GetExecutingAssembly().FullName, typeof(CompilationPass2TaskInternal).FullName); PopulateBuildArtifacts(wrapper); bool ret = wrapper.Execute(); if (!ret) { foreach (LogData logData in wrapper.LogData) { XamlBuildTaskServices.LogException( this, logData.Message, logData.FileName, logData.LineNumber, logData.LinePosition); } } return ret; } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } XamlBuildTaskServices.LogException(this, e.Message); return false; } finally { if (appDomain != null) { AppDomain.Unload(appDomain); } } } void PopulateBuildArtifacts(CompilationPass2TaskInternal wrapper) { IListapplicationMarkup = new List (this.ApplicationMarkup.Length); foreach (ITaskItem taskItem in this.ApplicationMarkup) { applicationMarkup.Add(taskItem.ItemSpec); } wrapper.ApplicationMarkup = applicationMarkup; IList references = new List (this.References.Length); foreach (ITaskItem reference in this.References) { references.Add(reference.ItemSpec); } wrapper.References = references; wrapper.LocalAssemblyReference = this.LocalAssemblyReference; wrapper.AssemblyName = this.AssemblyName; wrapper.RootNamespace = this.RootNamespace; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace Microsoft.Build.Tasks.Xaml { using System; using System.Collections.Generic; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using System.Reflection; using System.Runtime; [Fx.Tag.XamlVisible(true)] public class CompilationPass2Task : Task { public CompilationPass2Task() { } [Fx.Tag.KnownXamlExternal] public ITaskItem[] ApplicationMarkup { get; set; } public string AssemblyName { get; set; } [Fx.Tag.KnownXamlExternal] public ITaskItem[] References { get; set; } public string LocalAssemblyReference { get; set; } public string RootNamespace { get; set; } public string BuildTaskPath { get; set; } public override bool Execute() { AppDomain appDomain = null; try { appDomain = XamlBuildTaskServices.CreateAppDomain("CompilationPass2AppDomain_" + Guid.NewGuid(), BuildTaskPath); CompilationPass2TaskInternal wrapper = (CompilationPass2TaskInternal)appDomain.CreateInstanceAndUnwrap( Assembly.GetExecutingAssembly().FullName, typeof(CompilationPass2TaskInternal).FullName); PopulateBuildArtifacts(wrapper); bool ret = wrapper.Execute(); if (!ret) { foreach (LogData logData in wrapper.LogData) { XamlBuildTaskServices.LogException( this, logData.Message, logData.FileName, logData.LineNumber, logData.LinePosition); } } return ret; } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } XamlBuildTaskServices.LogException(this, e.Message); return false; } finally { if (appDomain != null) { AppDomain.Unload(appDomain); } } } void PopulateBuildArtifacts(CompilationPass2TaskInternal wrapper) { IList applicationMarkup = new List (this.ApplicationMarkup.Length); foreach (ITaskItem taskItem in this.ApplicationMarkup) { applicationMarkup.Add(taskItem.ItemSpec); } wrapper.ApplicationMarkup = applicationMarkup; IList references = new List (this.References.Length); foreach (ITaskItem reference in this.References) { references.Add(reference.ItemSpec); } wrapper.References = references; wrapper.LocalAssemblyReference = this.LocalAssemblyReference; wrapper.AssemblyName = this.AssemblyName; wrapper.RootNamespace = this.RootNamespace; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SparseMemoryStream.cs
- PointValueSerializer.cs
- Row.cs
- EventHandlerService.cs
- TerminatingOperationBehavior.cs
- SettingsPropertyCollection.cs
- URL.cs
- BufferedWebEventProvider.cs
- DocumentApplicationJournalEntry.cs
- LongSumAggregationOperator.cs
- ObjectAnimationBase.cs
- UnmanagedMemoryStreamWrapper.cs
- BamlRecordHelper.cs
- CacheHelper.cs
- TextSegment.cs
- StateItem.cs
- UrlMappingCollection.cs
- LocalFileSettingsProvider.cs
- WebServiceErrorEvent.cs
- ErrorWrapper.cs
- Rect3DConverter.cs
- MdiWindowListItemConverter.cs
- DataGridViewElement.cs
- UserMapPath.cs
- Keywords.cs
- UrlPath.cs
- Directory.cs
- SymbolPair.cs
- SrgsSemanticInterpretationTag.cs
- BasicExpressionVisitor.cs
- Policy.cs
- DataTableMappingCollection.cs
- FlatButtonAppearance.cs
- PriorityBinding.cs
- ProcessInfo.cs
- TextBreakpoint.cs
- CqlWriter.cs
- SqlMethodAttribute.cs
- ScalarOps.cs
- EntityContainerAssociationSet.cs
- RefreshPropertiesAttribute.cs
- _TransmitFileOverlappedAsyncResult.cs
- ClientOptions.cs
- Collection.cs
- SmiTypedGetterSetter.cs
- LayoutTableCell.cs
- VSWCFServiceContractGenerator.cs
- PointLightBase.cs
- Drawing.cs
- GeneralTransform3D.cs
- NodeFunctions.cs
- BinaryReader.cs
- FaultImportOptions.cs
- ProcessProtocolHandler.cs
- ContentElement.cs
- ValidationErrorEventArgs.cs
- ProtocolsInstallComponent.cs
- RenderDataDrawingContext.cs
- ProgramPublisher.cs
- Overlapped.cs
- ClosableStream.cs
- ProjectionCamera.cs
- ObjectListCommandCollection.cs
- PrivilegeNotHeldException.cs
- TypeDescriptionProvider.cs
- InvalidOleVariantTypeException.cs
- XPathAncestorQuery.cs
- WebBrowserProgressChangedEventHandler.cs
- PropertyMetadata.cs
- Ticks.cs
- SystemIPInterfaceProperties.cs
- StringAnimationUsingKeyFrames.cs
- TriggerAction.cs
- DataGridItem.cs
- PolygonHotSpot.cs
- TabItemAutomationPeer.cs
- VirtualPathProvider.cs
- KnownTypeDataContractResolver.cs
- UIElement3D.cs
- Update.cs
- AnonymousIdentificationModule.cs
- EdmTypeAttribute.cs
- XmlTextReaderImpl.cs
- OrderToken.cs
- ConstraintManager.cs
- XmlILCommand.cs
- IUnknownConstantAttribute.cs
- ResourceWriter.cs
- OperationGenerator.cs
- TreeViewEvent.cs
- FullTrustAssemblyCollection.cs
- AssertUtility.cs
- FontEmbeddingManager.cs
- ComplexPropertyEntry.cs
- ToolStripSeparatorRenderEventArgs.cs
- InfoCardAsymmetricCrypto.cs
- XmlSerializerAssemblyAttribute.cs
- AssemblyInfo.cs
- XmlWhitespace.cs
- ProviderConnectionPoint.cs