Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Build / 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 [....] - 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.String, _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.String, _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.String); 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BuildResult.cs
- prefixendpointaddressmessagefilter.cs
- Emitter.cs
- PagerStyle.cs
- NullableLongSumAggregationOperator.cs
- BlurEffect.cs
- CommandLibraryHelper.cs
- MembershipUser.cs
- XmlWriterSettings.cs
- BinaryMethodMessage.cs
- DBSqlParserTableCollection.cs
- TableCellsCollectionEditor.cs
- RegexMatch.cs
- IdleTimeoutMonitor.cs
- TrackingAnnotationCollection.cs
- SqlUnionizer.cs
- AudioFormatConverter.cs
- UrlPath.cs
- Rect.cs
- Funcletizer.cs
- userdatakeys.cs
- EncoderParameter.cs
- BindingManagerDataErrorEventArgs.cs
- ListView.cs
- OdbcError.cs
- QilTernary.cs
- AddInServer.cs
- Preprocessor.cs
- DataReceivedEventArgs.cs
- TimeZone.cs
- TreeViewBindingsEditor.cs
- GreenMethods.cs
- PropertyValue.cs
- StaticResourceExtension.cs
- _UriSyntax.cs
- MultiByteCodec.cs
- FormViewDeletedEventArgs.cs
- NonBatchDirectoryCompiler.cs
- EdmError.cs
- ScriptIgnoreAttribute.cs
- PieceDirectory.cs
- CdpEqualityComparer.cs
- ElementUtil.cs
- WebPartHeaderCloseVerb.cs
- Point.cs
- Part.cs
- DiscoveryDocumentSerializer.cs
- SecurityState.cs
- TdsParserStaticMethods.cs
- MDIControlStrip.cs
- CertificateReferenceElement.cs
- SrgsText.cs
- DockPatternIdentifiers.cs
- ControlBuilderAttribute.cs
- SizeF.cs
- ExceptionUtil.cs
- ServiceHostingEnvironment.cs
- TextSelectionProcessor.cs
- StringPropertyBuilder.cs
- InputScopeConverter.cs
- XhtmlBasicObjectListAdapter.cs
- InternalsVisibleToAttribute.cs
- RankException.cs
- ChangesetResponse.cs
- DrawingContextDrawingContextWalker.cs
- Path.cs
- ScrollItemPattern.cs
- GenericWebPart.cs
- XsdCachingReader.cs
- DeclarationUpdate.cs
- InvalidPipelineStoreException.cs
- UrlUtility.cs
- BrushConverter.cs
- CapabilitiesAssignment.cs
- Send.cs
- PointCollection.cs
- SectionVisual.cs
- SingleAnimation.cs
- DataFieldEditor.cs
- SqlUtil.cs
- FixedLineResult.cs
- Repeater.cs
- Encoder.cs
- IgnoreSectionHandler.cs
- SetState.cs
- SyndicationSerializer.cs
- TriggerCollection.cs
- ByteStreamGeometryContext.cs
- ExpressionBuilder.cs
- KeyGestureConverter.cs
- DTCTransactionManager.cs
- FilteredDataSetHelper.cs
- DbMetaDataFactory.cs
- DomNameTable.cs
- DesignerDataTableBase.cs
- SrgsOneOf.cs
- XmlNodeChangedEventArgs.cs
- TextSerializer.cs
- RegexGroup.cs
- LinqDataSourceDeleteEventArgs.cs