Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Remoting / MetaData / MetaData.cs / 1305376 / MetaData.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //============================================================ // // File: MetaDataServices //// Author: Gopal Kakivaya (GopalK) // // Purpose: Defines APIs for Metadata // // Date: April 01, 2000 // //=========================================================== namespace System.Runtime.Remoting.MetadataServices { using System; using System.Threading; using System.Collections; using System.Reflection; using System.Xml; using System.Diagnostics; using System.IO; using System.Net; using System.Text; using System.Runtime.InteropServices; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Metadata; using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Globalization; public class MetaData { public static void ConvertTypesToSchemaToFile(Type[] types, SdlType sdlType, String path) { Util.Log("MetaData.ConvertTypesToSchemaToFile 1 "+path); ConvertTypesToSchemaToStream(types, sdlType, File.Create(path)); } // ConvertTypesToSchemaToFile public static void ConvertTypesToSchemaToStream(Type[] types, SdlType sdlType, Stream outputStream) { Util.Log("MetaData.ConvertTypesToSchemaToFile 2 "); // < ServiceType[] serviceTypes = new ServiceType[types.Length]; for (int i=0; i0) { stfilename = assemblyPath.Substring(0,index+1)+stfilename; } } FileStream fs = new FileStream(stfilename, FileMode.Create, FileAccess.ReadWrite); StreamWriter fsWriter = new StreamWriter(fs, new UTF8Encoding(false, true)); fsWriter.WriteLine("// CLR Remoting Autogenerated Key file (to create a key file use: sn -k tmp.key)"); fsWriter.WriteLine("using System;"); fsWriter.WriteLine("using System.Reflection;"); fsWriter.WriteLine("[assembly: AssemblyKeyFile(@\""+strongNameFilename+"\")]"); fsWriter.WriteLine("[assembly: AssemblyVersion(@\"1.0.0.1\")]"); fsWriter.Flush(); fsWriter.Close(); fs.Close(); outCodeStreamList.Add(stfilename); Util.Log("MetaData.ConvertCodeSourceStreamToAssemblyFile key file "+stfilename); } String[] sourceTexts = new String[outCodeStreamList.Count]; String[] sourceTextNames = new String[outCodeStreamList.Count]; int streamCount = 0; // used for naming sourceTexts streams for(int item=0;item 0) { CodeDomProvider csharpCompiler = new CSharpCodeProvider(); CompilerParameters compileParams = new CompilerParameters(imports, target, true); compileParams.GenerateExecutable = false; // target:library results = csharpCompiler.CompileAssemblyFromSource(compileParams, sourceTexts); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { File.Delete(stfilename); } if (results.Errors.HasErrors) { CompilerErrorCollection errors = results.Errors; if (errors.Count > 0) { foreach (CompilerError error in errors) { Console.WriteLine(error.ToString()); } } } #endif //!FEATURE_PAL } /* /target:module -> Name="target", Value="module" /target:library -> Name="target", Value="library" /main:MyClass -> Name="m", Value="MyClass" /debug+ -> Name="debug", Value=true // The dictionary of options takes almost ALL of the normal command-line options, but only using their 'short form' and without the preceding slash or dash. */ public static void ConvertCodeSourceFileToAssemblyFile(String codePath, String assemblyPath, String strongNameFilename) { Util.Log("MetaData.ConvertCodeSourceFileToAssemblyFile codePath "+codePath+" assemblyPath "+assemblyPath); ArrayList arrayList = new ArrayList(); arrayList.Add(codePath); ConvertCodeSourceStreamToAssemblyFile(arrayList, assemblyPath, strongNameFilename); } // Helpers public static void SaveStreamToFile(Stream inputStream, String path) { Util.Log("MetaData.SaveStreamToFile "+path); Stream outputStream = File.Create(path); TextWriter tw = new StreamWriter(outputStream, new UTF8Encoding(false, true)); StreamReader sr = new StreamReader(inputStream); tw.Write(sr.ReadToEnd()); tw.Flush(); tw.Close(); outputStream.Close(); } } // class MetaData public class ServiceType { private Type _type; // Type of object being exported. private String _url; // This may be null if no address is available. public ServiceType(Type type) { _type = type; _url = null; } // ServiceType public ServiceType(Type type, String url) { _type = type; _url = url; } // ServiceType public Type ObjectType { get { return _type; } } public String Url { get { return _url; } } } // ServiceType } // namespace System.Runtime.Remoting.MetadataServices // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //============================================================ // // File: MetaDataServices // // Author: Gopal Kakivaya (GopalK) // // Purpose: Defines APIs for Metadata // // Date: April 01, 2000 // //=========================================================== namespace System.Runtime.Remoting.MetadataServices { using System; using System.Threading; using System.Collections; using System.Reflection; using System.Xml; using System.Diagnostics; using System.IO; using System.Net; using System.Text; using System.Runtime.InteropServices; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Metadata; using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Globalization; public class MetaData { public static void ConvertTypesToSchemaToFile(Type[] types, SdlType sdlType, String path) { Util.Log("MetaData.ConvertTypesToSchemaToFile 1 "+path); ConvertTypesToSchemaToStream(types, sdlType, File.Create(path)); } // ConvertTypesToSchemaToFile public static void ConvertTypesToSchemaToStream(Type[] types, SdlType sdlType, Stream outputStream) { Util.Log("MetaData.ConvertTypesToSchemaToFile 2 "); // < ServiceType[] serviceTypes = new ServiceType[types.Length]; for (int i=0; i0) { stfilename = assemblyPath.Substring(0,index+1)+stfilename; } } FileStream fs = new FileStream(stfilename, FileMode.Create, FileAccess.ReadWrite); StreamWriter fsWriter = new StreamWriter(fs, new UTF8Encoding(false, true)); fsWriter.WriteLine("// CLR Remoting Autogenerated Key file (to create a key file use: sn -k tmp.key)"); fsWriter.WriteLine("using System;"); fsWriter.WriteLine("using System.Reflection;"); fsWriter.WriteLine("[assembly: AssemblyKeyFile(@\""+strongNameFilename+"\")]"); fsWriter.WriteLine("[assembly: AssemblyVersion(@\"1.0.0.1\")]"); fsWriter.Flush(); fsWriter.Close(); fs.Close(); outCodeStreamList.Add(stfilename); Util.Log("MetaData.ConvertCodeSourceStreamToAssemblyFile key file "+stfilename); } String[] sourceTexts = new String[outCodeStreamList.Count]; String[] sourceTextNames = new String[outCodeStreamList.Count]; int streamCount = 0; // used for naming sourceTexts streams for(int item=0;item 0) { CodeDomProvider csharpCompiler = new CSharpCodeProvider(); CompilerParameters compileParams = new CompilerParameters(imports, target, true); compileParams.GenerateExecutable = false; // target:library results = csharpCompiler.CompileAssemblyFromSource(compileParams, sourceTexts); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { File.Delete(stfilename); } if (results.Errors.HasErrors) { CompilerErrorCollection errors = results.Errors; if (errors.Count > 0) { foreach (CompilerError error in errors) { Console.WriteLine(error.ToString()); } } } #endif //!FEATURE_PAL } /* /target:module -> Name="target", Value="module" /target:library -> Name="target", Value="library" /main:MyClass -> Name="m", Value="MyClass" /debug+ -> Name="debug", Value=true // The dictionary of options takes almost ALL of the normal command-line options, but only using their 'short form' and without the preceding slash or dash. */ public static void ConvertCodeSourceFileToAssemblyFile(String codePath, String assemblyPath, String strongNameFilename) { Util.Log("MetaData.ConvertCodeSourceFileToAssemblyFile codePath "+codePath+" assemblyPath "+assemblyPath); ArrayList arrayList = new ArrayList(); arrayList.Add(codePath); ConvertCodeSourceStreamToAssemblyFile(arrayList, assemblyPath, strongNameFilename); } // Helpers public static void SaveStreamToFile(Stream inputStream, String path) { Util.Log("MetaData.SaveStreamToFile "+path); Stream outputStream = File.Create(path); TextWriter tw = new StreamWriter(outputStream, new UTF8Encoding(false, true)); StreamReader sr = new StreamReader(inputStream); tw.Write(sr.ReadToEnd()); tw.Flush(); tw.Close(); outputStream.Close(); } } // class MetaData public class ServiceType { private Type _type; // Type of object being exported. private String _url; // This may be null if no address is available. public ServiceType(Type type) { _type = type; _url = null; } // ServiceType public ServiceType(Type type, String url) { _type = type; _url = url; } // ServiceType public Type ObjectType { get { return _type; } } public String Url { get { return _url; } } } // ServiceType } // namespace System.Runtime.Remoting.MetadataServices // 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
- TableItemPattern.cs
- PictureBox.cs
- CorrelationKey.cs
- BackStopAuthenticationModule.cs
- COAUTHINFO.cs
- DocumentEventArgs.cs
- ListItemParagraph.cs
- FileDialog.cs
- SystemInfo.cs
- TranslateTransform.cs
- StringToken.cs
- ArraySegment.cs
- GeneralTransform3DTo2D.cs
- DataGridViewColumnEventArgs.cs
- EventDrivenDesigner.cs
- InternalConfigConfigurationFactory.cs
- RequiredAttributeAttribute.cs
- TextFormatterHost.cs
- ResourceSet.cs
- CodeTypeParameterCollection.cs
- WhitespaceSignificantCollectionAttribute.cs
- EntityDataSourceSelectingEventArgs.cs
- FixUpCollection.cs
- assertwrapper.cs
- TextRunTypographyProperties.cs
- CommandManager.cs
- ConstructorBuilder.cs
- CharAnimationBase.cs
- ShapeTypeface.cs
- UserPreferenceChangingEventArgs.cs
- EntityDataSourceReferenceGroup.cs
- Point4DValueSerializer.cs
- ValidatingPropertiesEventArgs.cs
- StrokeFIndices.cs
- UIElementCollection.cs
- Int32AnimationBase.cs
- DataFieldConverter.cs
- Vector3DKeyFrameCollection.cs
- ConfigDefinitionUpdates.cs
- DetailsViewUpdatedEventArgs.cs
- TextEvent.cs
- IItemContainerGenerator.cs
- NetworkStream.cs
- HyperLink.cs
- RegistrySecurity.cs
- UriParserTemplates.cs
- WebContext.cs
- LinqDataSourceDeleteEventArgs.cs
- KeyEventArgs.cs
- RenderDataDrawingContext.cs
- XamlTreeBuilderBamlRecordWriter.cs
- QuotedPrintableStream.cs
- WebControlsSection.cs
- StrokeNodeOperations.cs
- BigInt.cs
- ListBoxItemWrapperAutomationPeer.cs
- PatternMatcher.cs
- XPathExpr.cs
- NetworkStream.cs
- DateTimeParse.cs
- TemplatePropertyEntry.cs
- MsmqBindingFilter.cs
- HtmlHead.cs
- CodeNamespace.cs
- PackagePart.cs
- NestPullup.cs
- ItemCollection.cs
- ClientRuntimeConfig.cs
- GiveFeedbackEvent.cs
- ThaiBuddhistCalendar.cs
- Vector3D.cs
- DbTransaction.cs
- DropShadowBitmapEffect.cs
- BrowserInteropHelper.cs
- Repeater.cs
- OrderedDictionaryStateHelper.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- AvTraceDetails.cs
- DocumentXPathNavigator.cs
- MimeWriter.cs
- GridView.cs
- HttpCapabilitiesEvaluator.cs
- TextContainerHelper.cs
- TableItemPattern.cs
- WebBrowserPermission.cs
- VectorAnimationUsingKeyFrames.cs
- RSAOAEPKeyExchangeDeformatter.cs
- TextBlock.cs
- ArgumentNullException.cs
- RsaSecurityTokenAuthenticator.cs
- BamlRecordReader.cs
- ObjectQuery_EntitySqlExtensions.cs
- DriveInfo.cs
- AssemblyAttributes.cs
- SpecularMaterial.cs
- DataStreamFromComStream.cs
- EtwProvider.cs
- SingleAnimationUsingKeyFrames.cs
- ThreadExceptionDialog.cs
- SafeUserTokenHandle.cs