Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / BuildTasks / Microsoft / Build / Tasks / Windows / MergeLocalizationDirectives.cs / 1 / MergeLocalizationDirectives.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: The task that merges all the localization directives files // // History: // 06/15/2005 garyyang - created // //--------------------------------------------------------------------------- using System; using System.IO; using System.Text; using System.Xml; using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using MS.Internal.Globalization; using MS.Internal.Tasks; using MS.Utility; // For SR // Since we disable PreSharp warnings in this file, we first need to disable warnings // about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace Microsoft.Build.Tasks.Windows { ////// This task merges the localization directives files of single bamls /// into one file corresponding to for the compiled assembly. /// public sealed class MergeLocalizationDirectives : Task { //-------------------------------- // Constructor //-------------------------------- ////// Default constructor of the task /// public MergeLocalizationDirectives() : base(SR.ResourceManager) { } //-------------------------------- // Public methods //-------------------------------- ////// Method invoked by MSBuild to merge localization files of single bamls to /// one file for the whole Assembly. /// public override bool Execute() { TaskHelper.DisplayLogo(Log, SR.Get(SRID.MergeLocalizationDirectivesTask)); if (GeneratedLocalizationFiles.Length > 0) { try { string absoluteFilePath = Path.Combine( Directory.GetCurrentDirectory(), _outputFile ); using (StreamWriter streamWriter = new StreamWriter( new FileStream(absoluteFilePath, FileMode.Create), new UTF8Encoding(true) ) ) { Log.LogMessageFromResources(SRID.CommentFileGenerating, _outputFile); streamWriter.WriteLine("<" + LocComments.LocDocumentRoot + ">"); // keey things simple and fast. Just keep appending the // xml fragments that are already outputed. foreach (ITaskItem item in GeneratedLocalizationFiles) { using (StreamReader locStreamReader = new StreamReader(item.ItemSpec)) { // directly concat Xml fragments streamWriter.WriteLine(locStreamReader.ReadToEnd()); } } streamWriter.WriteLine("" + LocComments.LocDocumentRoot + ">"); Log.LogMessageFromResources(SRID.CommentFileGenerated, _outputFile); } } catch (Exception e) { // PreSharp Complaint 6500 - do not handle null-ref or SEH exceptions. if (e is NullReferenceException || e is SEHException) { throw; } else { Log.LogErrorFromException(e); return false; } } #pragma warning disable 6500 catch // Non-CLS compliant errors { Log.LogErrorWithCodeFromResources(SRID.NonClsError); return false; } #pragma warning restore 6500 } return true; } //-------------------------------- // Public properties //-------------------------------- ////// The list of localization directives files for individual Bamls. /// [Required] public ITaskItem[] GeneratedLocalizationFiles { get { return _generatedLocalizationFiles; } set { _generatedLocalizationFiles = value; } } ////// The output path of the compiled assembly /// [Required] [Output] public string OutputFile { get { return _outputFile; } set { _outputFile = value; } } //--------------------------------- // Private members //--------------------------------- private ITaskItem[] _generatedLocalizationFiles; private string _outputFile; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: The task that merges all the localization directives files // // History: // 06/15/2005 garyyang - created // //--------------------------------------------------------------------------- using System; using System.IO; using System.Text; using System.Xml; using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using MS.Internal.Globalization; using MS.Internal.Tasks; using MS.Utility; // For SR // Since we disable PreSharp warnings in this file, we first need to disable warnings // about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace Microsoft.Build.Tasks.Windows { ////// This task merges the localization directives files of single bamls /// into one file corresponding to for the compiled assembly. /// public sealed class MergeLocalizationDirectives : Task { //-------------------------------- // Constructor //-------------------------------- ////// Default constructor of the task /// public MergeLocalizationDirectives() : base(SR.ResourceManager) { } //-------------------------------- // Public methods //-------------------------------- ////// Method invoked by MSBuild to merge localization files of single bamls to /// one file for the whole Assembly. /// public override bool Execute() { TaskHelper.DisplayLogo(Log, SR.Get(SRID.MergeLocalizationDirectivesTask)); if (GeneratedLocalizationFiles.Length > 0) { try { string absoluteFilePath = Path.Combine( Directory.GetCurrentDirectory(), _outputFile ); using (StreamWriter streamWriter = new StreamWriter( new FileStream(absoluteFilePath, FileMode.Create), new UTF8Encoding(true) ) ) { Log.LogMessageFromResources(SRID.CommentFileGenerating, _outputFile); streamWriter.WriteLine("<" + LocComments.LocDocumentRoot + ">"); // keey things simple and fast. Just keep appending the // xml fragments that are already outputed. foreach (ITaskItem item in GeneratedLocalizationFiles) { using (StreamReader locStreamReader = new StreamReader(item.ItemSpec)) { // directly concat Xml fragments streamWriter.WriteLine(locStreamReader.ReadToEnd()); } } streamWriter.WriteLine("" + LocComments.LocDocumentRoot + ">"); Log.LogMessageFromResources(SRID.CommentFileGenerated, _outputFile); } } catch (Exception e) { // PreSharp Complaint 6500 - do not handle null-ref or SEH exceptions. if (e is NullReferenceException || e is SEHException) { throw; } else { Log.LogErrorFromException(e); return false; } } #pragma warning disable 6500 catch // Non-CLS compliant errors { Log.LogErrorWithCodeFromResources(SRID.NonClsError); return false; } #pragma warning restore 6500 } return true; } //-------------------------------- // Public properties //-------------------------------- ////// The list of localization directives files for individual Bamls. /// [Required] public ITaskItem[] GeneratedLocalizationFiles { get { return _generatedLocalizationFiles; } set { _generatedLocalizationFiles = value; } } ////// The output path of the compiled assembly /// [Required] [Output] public string OutputFile { get { return _outputFile; } set { _outputFile = value; } } //--------------------------------- // Private members //--------------------------------- private ITaskItem[] _generatedLocalizationFiles; private string _outputFile; } } // 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
- String.cs
- WindowsFormsHostPropertyMap.cs
- PartialCachingAttribute.cs
- Translator.cs
- XmlCharacterData.cs
- Oid.cs
- thaishape.cs
- SafeHandles.cs
- WebPartCatalogCloseVerb.cs
- LogArchiveSnapshot.cs
- MarginsConverter.cs
- URL.cs
- DropShadowEffect.cs
- CodeSubDirectory.cs
- ReflectionTypeLoadException.cs
- ImageCodecInfoPrivate.cs
- ListControlActionList.cs
- ExpandableObjectConverter.cs
- ScaleTransform.cs
- PartialToken.cs
- IconHelper.cs
- BitmapEffectOutputConnector.cs
- DataSourceXmlAttributeAttribute.cs
- DocumentPage.cs
- Attributes.cs
- WebZone.cs
- StorageModelBuildProvider.cs
- GenericsInstances.cs
- PathSegment.cs
- NumberSubstitution.cs
- GridToolTip.cs
- TextEvent.cs
- DefaultValueAttribute.cs
- Attributes.cs
- EntityType.cs
- PackageDigitalSignatureManager.cs
- MergablePropertyAttribute.cs
- ResourcePermissionBase.cs
- ToolStripItemDataObject.cs
- AddIn.cs
- RegisteredArrayDeclaration.cs
- TypeGeneratedEventArgs.cs
- AppDomainProtocolHandler.cs
- CFGGrammar.cs
- ConfigurationValues.cs
- ProjectionCamera.cs
- TableLayoutCellPaintEventArgs.cs
- odbcmetadatacollectionnames.cs
- NavigatingCancelEventArgs.cs
- CustomGrammar.cs
- FixedSOMTable.cs
- XmlValidatingReader.cs
- InvariantComparer.cs
- SplitterEvent.cs
- WindowsStatic.cs
- Size.cs
- PassportAuthentication.cs
- ScriptIgnoreAttribute.cs
- NullableConverter.cs
- HtmlGenericControl.cs
- MembershipSection.cs
- ReferentialConstraint.cs
- ExternalException.cs
- SchemaTypeEmitter.cs
- EntityObject.cs
- SafeMILHandle.cs
- ScriptComponentDescriptor.cs
- BindingNavigatorDesigner.cs
- FormatterServicesNoSerializableCheck.cs
- ConfigurationStrings.cs
- Matrix3D.cs
- DrawingAttributes.cs
- mansign.cs
- DrawingCollection.cs
- XmlSchemaAll.cs
- UrlPropertyAttribute.cs
- IriParsingElement.cs
- ToolZoneDesigner.cs
- CollectionsUtil.cs
- BaseDataBoundControl.cs
- CustomAttributeFormatException.cs
- Accessors.cs
- StubHelpers.cs
- Typography.cs
- SmiEventSink_DeferedProcessing.cs
- SchemaElementLookUpTableEnumerator.cs
- EntityStoreSchemaGenerator.cs
- MouseActionValueSerializer.cs
- SingleSelectRootGridEntry.cs
- ProcessProtocolHandler.cs
- VoiceSynthesis.cs
- GcHandle.cs
- Timer.cs
- InputBinder.cs
- CornerRadius.cs
- BatchStream.cs
- NameObjectCollectionBase.cs
- DataBindingList.cs
- ByteAnimationBase.cs
- PageBreakRecord.cs