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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- JsonQNameDataContract.cs
- DbConnectionOptions.cs
- ReferentialConstraintRoleElement.cs
- Activity.cs
- OdbcRowUpdatingEvent.cs
- EnumerableRowCollection.cs
- WindowsAuthenticationEventArgs.cs
- UnmanagedMemoryStreamWrapper.cs
- ToolTipAutomationPeer.cs
- XPathNodeHelper.cs
- RemoteEndpointMessageProperty.cs
- XmlSchemaDocumentation.cs
- BooleanStorage.cs
- PointAnimationBase.cs
- KeyConstraint.cs
- Crc32.cs
- IConvertible.cs
- NopReturnReader.cs
- SystemNetworkInterface.cs
- QueryNode.cs
- IndexingContentUnit.cs
- ScaleTransform.cs
- PrimaryKeyTypeConverter.cs
- hresults.cs
- ReferenceTypeElement.cs
- Visual.cs
- EventLogReader.cs
- UInt64Converter.cs
- Schedule.cs
- Help.cs
- ISFTagAndGuidCache.cs
- ISO2022Encoding.cs
- ExpressionParser.cs
- LicenseException.cs
- SessionStateItemCollection.cs
- PublisherMembershipCondition.cs
- TripleDES.cs
- ManipulationPivot.cs
- webeventbuffer.cs
- Vector3DKeyFrameCollection.cs
- AddInAttribute.cs
- MasterPageBuildProvider.cs
- DriveInfo.cs
- Normalization.cs
- ServerValidateEventArgs.cs
- ThreadStaticAttribute.cs
- RequestContext.cs
- Debugger.cs
- ContentValidator.cs
- DateTime.cs
- TableProvider.cs
- ParserHooks.cs
- MappingMetadataHelper.cs
- Timer.cs
- BaseEntityWrapper.cs
- KoreanCalendar.cs
- ProfileEventArgs.cs
- StrokeNodeEnumerator.cs
- ConfigurationManagerInternal.cs
- ObjectAnimationBase.cs
- CommonRemoteMemoryBlock.cs
- ToolBarButton.cs
- WebPageTraceListener.cs
- HtmlFormParameterWriter.cs
- AnalyzedTree.cs
- ProcessHostMapPath.cs
- XmlWrappingReader.cs
- WebHttpSecurityModeHelper.cs
- TimeoutHelper.cs
- EdmValidator.cs
- DesignerWithHeader.cs
- EntityDataSourceWrapper.cs
- FontWeights.cs
- CodeArgumentReferenceExpression.cs
- OdbcConnectionPoolProviderInfo.cs
- PartialList.cs
- ToolStripSeparator.cs
- ImageFormat.cs
- GestureRecognizer.cs
- ResolveNameEventArgs.cs
- ExpressionServices.cs
- SymLanguageType.cs
- FieldBuilder.cs
- CheckBoxList.cs
- Transform3DCollection.cs
- ListItemConverter.cs
- BrushConverter.cs
- AttachedAnnotationChangedEventArgs.cs
- FixedHyperLink.cs
- CheckableControlBaseAdapter.cs
- ButtonFlatAdapter.cs
- SqlGenericUtil.cs
- EncoderParameter.cs
- ImplicitInputBrush.cs
- TagPrefixAttribute.cs
- SynchronizedDispatch.cs
- WebPartDescription.cs
- DataSourceCacheDurationConverter.cs
- HtmlInputControl.cs
- TdsParserHelperClasses.cs