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
- CaseStatement.cs
- XsltOutput.cs
- CategoryNameCollection.cs
- InvalidComObjectException.cs
- OrderPreservingPipeliningMergeHelper.cs
- ReferenceEqualityComparer.cs
- MissingSatelliteAssemblyException.cs
- RelationshipType.cs
- CustomAttributeSerializer.cs
- OuterProxyWrapper.cs
- NumberFormatInfo.cs
- Slider.cs
- FramingDecoders.cs
- CodeLabeledStatement.cs
- DataGridViewSelectedCellCollection.cs
- Hash.cs
- ModuleBuilder.cs
- CommentEmitter.cs
- HideDisabledControlAdapter.cs
- OdbcParameter.cs
- XsltOutput.cs
- DataGridViewToolTip.cs
- AsymmetricKeyExchangeFormatter.cs
- ObjectPropertyMapping.cs
- ClrPerspective.cs
- SizeIndependentAnimationStorage.cs
- NetworkInformationException.cs
- XamlTypeMapper.cs
- SecurityElement.cs
- FlowDocumentFormatter.cs
- FastEncoder.cs
- CriticalExceptions.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- SQLInt16Storage.cs
- WebPartsPersonalizationAuthorization.cs
- ExpressionValueEditor.cs
- ConstraintCollection.cs
- XmlWhitespace.cs
- WebPartZoneCollection.cs
- ReflectionServiceProvider.cs
- Object.cs
- templategroup.cs
- SqlUserDefinedAggregateAttribute.cs
- GeometryHitTestParameters.cs
- ScrollItemProviderWrapper.cs
- LinkTarget.cs
- TypeReference.cs
- ImageField.cs
- IDReferencePropertyAttribute.cs
- DBDataPermissionAttribute.cs
- StreamAsIStream.cs
- SqlColumnizer.cs
- UnionCodeGroup.cs
- MsmqMessageProperty.cs
- ReplacementText.cs
- HiddenField.cs
- ButtonBaseAutomationPeer.cs
- TypedReference.cs
- TakeQueryOptionExpression.cs
- HostVisual.cs
- VBIdentifierDesigner.xaml.cs
- ProvideValueServiceProvider.cs
- X509SecurityTokenParameters.cs
- XsltLibrary.cs
- UnsafeNativeMethods.cs
- InstancePersistenceCommandException.cs
- ShapeTypeface.cs
- DataGridViewButtonCell.cs
- RsaSecurityTokenParameters.cs
- DbProviderFactoriesConfigurationHandler.cs
- BaseParaClient.cs
- Sorting.cs
- TaiwanLunisolarCalendar.cs
- ImageMapEventArgs.cs
- IsolatedStorageFileStream.cs
- InputLanguageCollection.cs
- CloseCollectionAsyncResult.cs
- ModelItemCollectionImpl.cs
- OutputScope.cs
- SoapSchemaMember.cs
- CodeTypeReference.cs
- XmlValidatingReader.cs
- HttpClientCertificate.cs
- BaseResourcesBuildProvider.cs
- PartManifestEntry.cs
- EditableLabelControl.cs
- PropertyFilterAttribute.cs
- QueryOutputWriter.cs
- updateconfighost.cs
- RowsCopiedEventArgs.cs
- DictionarySectionHandler.cs
- QilGenerator.cs
- DataGridViewRowsRemovedEventArgs.cs
- Application.cs
- TimeoutException.cs
- PointConverter.cs
- Dynamic.cs
- Base64Decoder.cs
- Camera.cs
- TextRangeSerialization.cs