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
- DataGridViewRowHeaderCell.cs
- SimpleWorkerRequest.cs
- StorageAssociationSetMapping.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- AppDomainShutdownMonitor.cs
- StatusBarPanel.cs
- EventSourceCreationData.cs
- WsdlContractConversionContext.cs
- RetrieveVirtualItemEventArgs.cs
- HttpHandlerActionCollection.cs
- _BaseOverlappedAsyncResult.cs
- MiniCustomAttributeInfo.cs
- RemotingServices.cs
- MarkupCompilePass2.cs
- PtsContext.cs
- AutomationElementCollection.cs
- FontSource.cs
- TraceFilter.cs
- OleDbMetaDataFactory.cs
- UnsafeMethods.cs
- PropertyRecord.cs
- BaseParaClient.cs
- Literal.cs
- Interlocked.cs
- TextProperties.cs
- RelationshipConstraintValidator.cs
- TypeUsageBuilder.cs
- linebase.cs
- ImageFormatConverter.cs
- SingleConverter.cs
- SqlMethodTransformer.cs
- CacheRequest.cs
- InvalidAsynchronousStateException.cs
- Win32Native.cs
- OdbcParameter.cs
- XamlPointCollectionSerializer.cs
- StylusPointPropertyUnit.cs
- IntellisenseTextBox.cs
- PropertyGridCommands.cs
- Hashtable.cs
- Latin1Encoding.cs
- AsmxEndpointPickerExtension.cs
- SqlXml.cs
- AmbientLight.cs
- BatchParser.cs
- PermissionSet.cs
- WindowInteropHelper.cs
- PartitionedDataSource.cs
- WinFormsSecurity.cs
- UrlMappingCollection.cs
- ProfileBuildProvider.cs
- SymDocumentType.cs
- IPEndPointCollection.cs
- WebBrowserHelper.cs
- XamlSerializationHelper.cs
- BlobPersonalizationState.cs
- ImageUrlEditor.cs
- StorageEntityTypeMapping.cs
- RuntimeHandles.cs
- TypeConverters.cs
- EntitySetBaseCollection.cs
- OleDbEnumerator.cs
- ObjectConverter.cs
- Win32SafeHandles.cs
- LineServicesRun.cs
- VisualBrush.cs
- DiscoveryClientReferences.cs
- ManifestResourceInfo.cs
- ValidatorCompatibilityHelper.cs
- DesignerHelpers.cs
- XhtmlBasicTextViewAdapter.cs
- RandomNumberGenerator.cs
- SharedPersonalizationStateInfo.cs
- OleDbRowUpdatedEvent.cs
- WebPartCatalogAddVerb.cs
- HitTestWithGeometryDrawingContextWalker.cs
- TimeSpanSecondsConverter.cs
- GlobalizationAssembly.cs
- QueryCacheManager.cs
- SqlServer2KCompatibilityCheck.cs
- RestClientProxyHandler.cs
- _AuthenticationState.cs
- SymDocumentType.cs
- PassportIdentity.cs
- SessionChannels.cs
- ProfessionalColors.cs
- ObjectDisposedException.cs
- DetailsViewUpdateEventArgs.cs
- SkipQueryOptionExpression.cs
- ContextStack.cs
- SqlInfoMessageEvent.cs
- NumberSubstitution.cs
- XPathDocumentBuilder.cs
- RegexStringValidator.cs
- TreeView.cs
- DecimalKeyFrameCollection.cs
- XmlSchemaValidator.cs
- VisualBrush.cs
- HtmlInputText.cs
- ConstNode.cs