Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- BinaryMessageEncoder.cs
- ReliableInputConnection.cs
- Guid.cs
- LocatorBase.cs
- SiteMapPath.cs
- Options.cs
- SafeHandle.cs
- Section.cs
- CellConstant.cs
- CapiSafeHandles.cs
- ToolboxItemAttribute.cs
- GorillaCodec.cs
- LineServicesCallbacks.cs
- CaseStatement.cs
- RowToFieldTransformer.cs
- RelatedCurrencyManager.cs
- CellTreeNodeVisitors.cs
- PriorityBindingExpression.cs
- TextModifier.cs
- TextSchema.cs
- EditorPartCollection.cs
- OutputCacheSettings.cs
- ExternalFile.cs
- QuaternionAnimation.cs
- SqlWorkflowInstanceStore.cs
- HtmlLinkAdapter.cs
- ReservationNotFoundException.cs
- ContentPresenter.cs
- TextEffect.cs
- SoapFormatterSinks.cs
- OracleSqlParser.cs
- OSFeature.cs
- HelpKeywordAttribute.cs
- GiveFeedbackEventArgs.cs
- BuildResultCache.cs
- CompiledWorkflowDefinitionContext.cs
- ComponentSerializationService.cs
- CodeStatement.cs
- TextRunProperties.cs
- MenuItemStyleCollection.cs
- OrderPreservingMergeHelper.cs
- CodeMemberProperty.cs
- UIElement3D.cs
- DesignBindingValueUIHandler.cs
- WindowProviderWrapper.cs
- XmlSchemaAttributeGroup.cs
- XmlEncoding.cs
- PrintDialog.cs
- XmlHierarchicalDataSourceView.cs
- MsmqInputChannelListenerBase.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- DataGridTableCollection.cs
- XmlMapping.cs
- AsyncOperation.cs
- CatalogPartDesigner.cs
- EncodingDataItem.cs
- DESCryptoServiceProvider.cs
- OleTxTransactionInfo.cs
- SimplePropertyEntry.cs
- GridViewUpdatedEventArgs.cs
- PartitionResolver.cs
- ChannelTokenTypeConverter.cs
- Request.cs
- ObjectConverter.cs
- SoapUnknownHeader.cs
- EdmProviderManifest.cs
- RequestNavigateEventArgs.cs
- ButtonPopupAdapter.cs
- CodeTypeParameterCollection.cs
- AdCreatedEventArgs.cs
- Vector3DCollection.cs
- BrushMappingModeValidation.cs
- HttpsChannelListener.cs
- MultiSelectRootGridEntry.cs
- SelectionListComponentEditor.cs
- DataGridViewCellStyleConverter.cs
- GZipStream.cs
- TextServicesCompartmentContext.cs
- ClosureBinding.cs
- InvocationExpression.cs
- HtmlWindowCollection.cs
- PenCursorManager.cs
- MultiPageTextView.cs
- DispatcherExceptionFilterEventArgs.cs
- Point3D.cs
- ByteAnimation.cs
- KeyNotFoundException.cs
- ThemeDirectoryCompiler.cs
- ModuleBuilderData.cs
- PathGeometry.cs
- OrderByQueryOptionExpression.cs
- JsonEncodingStreamWrapper.cs
- TextElementAutomationPeer.cs
- FixedSOMImage.cs
- MetadataArtifactLoaderCompositeFile.cs
- InternalCache.cs
- RIPEMD160Managed.cs
- sqlmetadatafactory.cs
- SettingsPropertyIsReadOnlyException.cs
- FormViewPageEventArgs.cs