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
- SiteMapDataSourceDesigner.cs
- FixedSOMPageConstructor.cs
- DbConnectionInternal.cs
- ObjectListComponentEditor.cs
- SnapLine.cs
- EmissiveMaterial.cs
- XmlSerializerSection.cs
- Pts.cs
- DockAndAnchorLayout.cs
- FormatConvertedBitmap.cs
- CurrentChangedEventManager.cs
- SqlCacheDependency.cs
- ReaderOutput.cs
- formatstringdialog.cs
- DesigntimeLicenseContextSerializer.cs
- XPathNavigator.cs
- MultitargetingHelpers.cs
- LicenseException.cs
- UnauthorizedWebPart.cs
- CreateUserErrorEventArgs.cs
- SqlInternalConnection.cs
- Point3DAnimation.cs
- StyleSheetComponentEditor.cs
- TrustVersion.cs
- ProtocolProfile.cs
- WindowsGrip.cs
- OdbcCommandBuilder.cs
- HashCodeCombiner.cs
- TextReader.cs
- InitializationEventAttribute.cs
- DashStyle.cs
- WindowsGrip.cs
- Dynamic.cs
- InboundActivityHelper.cs
- DictionaryTraceRecord.cs
- PropertyCollection.cs
- WebPartConnectionsEventArgs.cs
- HMACSHA384.cs
- ClusterUtils.cs
- PaperSource.cs
- XmlElementList.cs
- CommandManager.cs
- PathSegmentCollection.cs
- ObjectHandle.cs
- BasicExpandProvider.cs
- LambdaReference.cs
- HtmlInputHidden.cs
- FontTypeConverter.cs
- ErrorRuntimeConfig.cs
- TabControlEvent.cs
- MinimizableAttributeTypeConverter.cs
- DesignUtil.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- IODescriptionAttribute.cs
- DataGridColumn.cs
- Ref.cs
- LinqDataSourceInsertEventArgs.cs
- FloatUtil.cs
- DataServiceHostFactory.cs
- QilInvokeEarlyBound.cs
- Debug.cs
- NameValueFileSectionHandler.cs
- StorageModelBuildProvider.cs
- GlobalProxySelection.cs
- ScriptBehaviorDescriptor.cs
- SqlSelectStatement.cs
- BindingManagerDataErrorEventArgs.cs
- Visual.cs
- WinEventWrap.cs
- SubpageParagraph.cs
- PrePrepareMethodAttribute.cs
- ReaderContextStackData.cs
- X509WindowsSecurityToken.cs
- TrustManagerPromptUI.cs
- XmlTextAttribute.cs
- externdll.cs
- MissingMemberException.cs
- StateMachineSubscriptionManager.cs
- NavigationEventArgs.cs
- DragEvent.cs
- CaseInsensitiveComparer.cs
- ConnectionManagementSection.cs
- JsonServiceDocumentSerializer.cs
- SynchronousChannelMergeEnumerator.cs
- FormViewCommandEventArgs.cs
- WebPartVerbsEventArgs.cs
- IISUnsafeMethods.cs
- MethodRental.cs
- DebugHandleTracker.cs
- MaskInputRejectedEventArgs.cs
- QueryableDataSource.cs
- ScrollEventArgs.cs
- EntityDataSourceSelectedEventArgs.cs
- ContractReference.cs
- PnrpPermission.cs
- RandomNumberGenerator.cs
- FormViewModeEventArgs.cs
- PasswordBoxAutomationPeer.cs
- FlatButtonAppearance.cs
- _HeaderInfo.cs