mono桌面应用移到android,.net 应用迁移到Mono 工具 (Moma)

Mono Migration Analyzer (Moma) 是一个用于开发者使用的MS .net下开发的应用程序迁移到Mono平台的不兼容性检测工具。工具通过分析.dll或者.exe程序集的代码是否符合ECMA CLI,大家都知道符合ECMA CLI标准的.net 程序可以运行于MS .net和Mono平台。这个工具使用Cecil,这是一个用于检测代码是否符合ECMA CLI标准的类库,Mono网站上的小工具还真多。到[url]http://www.mono-project.com/MoMA[/url]下载最新版本,解压后运行MoMA.exe,选择一个要分析的程序集,可以选择一组程序集一起分析,在程序集分析过程中,这个工具会分析程序集中的所有方法、属性,事件引用的所有方法,报告方法存在的问题,使用很简单。

Step 1

6a94e263742b93db81746474c72963f0.png

Step 2

a7f819563cf0c7087f2794e4b8c1e974.png

Step 3

f510e110f32901b30bff9d372725e6b3.png

Step 4

9999252c9ffca9140cbefb3260bb700b.png 

我用它分析了一下Castle的程序集,发现他还是很多问题。看来迁移到Mono不是一件容易的事情。分析结果附后,有兴趣的你可以自己分析自己的程序集看看。

MoMA Scan Results

Scan time: 2006-11-30 21:27:32

For descriptions of issues and what to do, see [url]http://www.mono-project.com/MoMA_-_Issue_Descriptions[/url].

anrControls.Markdown.NET.dll

No Issues Found

antlr.runtime.dll

No Issues Found

AopAlliance.dll

No Issues Found

Bamboo.Prevalence.Collections.dll

No Issues Found

Bamboo.Prevalence.dll

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class Bamboo.Prevalence.Implementation.CommandLogWriter:

void Win32HardFlush(FileStream)

int FlushFileBuffers(IntPtr)

KERNEL32.DLL

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Bamboo.Prevalence.Implementation.CommandLogWriter:

void Win32HardFlush(FileStream)

int Marshal.GetHRForLastWin32Error()

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Bamboo.Prevalence.Implementation.CommandLogWriter:

void Win32HardFlush(FileStream)

int Marshal.GetHRForLastWin32Error()

Not Specified

Bamboo.Prevalence.Indexing.dll

No Issues Found

Bamboo.Prevalence.Util.dll

No Issues Found

Bamboo.Prevalence.XPath.dll

No Issues Found

Boo.Lang.CodeDom.dll

No Issues Found

Boo.Lang.Compiler.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Boo.Lang.Compiler.Steps.EmitAssembly:

void OnExponentiation(BinaryExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

bool EmitToBoolIfNeeded(Expression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

bool EmitToBoolIfNeeded(Expression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void InvokeRegularMethod(IMethod, MethodInfo, MethodInvocationExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void InvokeSuperMethod(IMethod, MethodInvocationExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void EmitGetTypeFromHandle(Type)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void OnHashLiteralExpression(HashLiteralExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void EmitNormalizedArrayIndex(Expression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void OnExpressionInterpolationExpression(ExpressionInterpolationExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void OnExpressionInterpolationExpression(ExpressionInterpolationExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void OnExpressionInterpolationExpression(ExpressionInterpolationExpression)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void SetProperty(Node, IProperty, Expression, Expression, bool)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void EmitCastIfNeeded(IType, IType)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void EmitCastIfNeeded(IType, IType)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

void EmitUnbox(IType)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Boo.Lang.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Boo.Lang.Runtime.RuntimeServices:

MethodInfo EmitConversionProxy(Type, Type, MethodInfo)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class Boo.Lang.Builtins:

string shellm(string, String[])

AppDomain AppDomain.CreateDomain(string, Evidence, AppDomainSetup)

Currently it does not allow the setup in the other domain

Boo.Lang.Interpreter.dll

No Issues Found

Boo.Lang.Parser.dll

No Issues Found

Boo.Lang.Useful.dll

No Issues Found

Boo.Microsoft.Build.Tasks.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Boo.Microsoft.Build.Tasks.Booc:

string GenerateFullPathToTool()

string ToolLocationHelper.GetPathToDotNetFrameworkFile(string, TargetDotNetFrameworkVersion)

string GenerateFullPathToTool()

string ToolLocationHelper.GetDotNetFrameworkVersionFolderPrefix(TargetDotNetFrameworkVersion)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Boo.Microsoft.Build.Tasks.Booc:

string GenerateFullPathToTool()

string ToolLocationHelper.GetPathToDotNetFrameworkFile(string, TargetDotNetFrameworkVersion)

Not Specified

string GenerateFullPathToTool()

string ToolLocationHelper.GetDotNetFrameworkVersionFolderPrefix(TargetDotNetFrameworkVersion)

Not Specified

Boo.NAnt.Tasks.dll

No Issues Found

Cassini.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Cassini.Connection:

string get_LocalIP()

EndPoint Socket.get_LocalEndPoint()

string get_RemoteIP()

EndPoint Socket.get_RemoteEndPoint()

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Cassini.Server:

string GetInstallPathAndConfigureAspNetIfNeeded()

RegistryKey RegistryKey.CreateSubKey(string)

RegistryPermission

string GetInstallPathAndConfigureAspNetIfNeeded()

RegistryKey RegistryKey.CreateSubKey(string)

RegistryPermission

IBatisNet.Common.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class IBatisNet.Common.Transaction.TransactionScope:

bool get_IsInTransaction()

bool ContextUtil.get_IsInTransaction()

void EnterTransactionContext()

void ServiceConfig..ctor()

void EnterTransactionContext()

void ServiceConfig.set_TrackingEnabled(bool)

void EnterTransactionContext()

void ServiceConfig.set_TrackingAppName(string)

void EnterTransactionContext()

void ServiceConfig.set_TrackingComponentName(string)

void EnterTransactionContext()

void ServiceConfig.set_TransactionDescription(string)

void EnterTransactionContext()

void ServiceConfig.set_Transaction(TransactionOption)

void EnterTransactionContext()

void ServiceConfig.set_TransactionTimeout(int)

void EnterTransactionContext()

void ServiceConfig.set_IsolationLevel(TransactionIsolationLevel)

void EnterTransactionContext()

void ServiceDomain.Enter(ServiceConfig)

void EnterTransactionContext()

Guid ContextUtil.get_ContextId()

void Close()

bool ContextUtil.get_IsInTransaction()

void Close()

void ContextUtil.EnableCommit()

void Close()

void ContextUtil.DisableCommit()

void Close()

TransactionStatus ServiceDomain.Leave()

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class IBatisNet.Common.Utilities.Objects.Members.DelegatePropertySetAccessor:

void .ctor(Type, string)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class IBatisNet.Common.Utilities.Objects.Members.EmitPropertyGetAccessor:

void EmitType(ModuleBuilder)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class IBatisNet.Common.Utilities.Objects.Members.DelegatePropertyGetAccessor:

void .ctor(Type, string)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class IBatisNet.Common.Utilities.Objects.Members.EmitPropertySetAccessor:

void EmitType(ModuleBuilder)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class IBatisNet.Common.Transaction.TransactionScope:

bool get_IsInTransaction()

bool ContextUtil.get_IsInTransaction()

Not Specified

void EnterTransactionContext()

void ServiceConfig..ctor()

Not Specified

void EnterTransactionContext()

void ServiceDomain.Enter(ServiceConfig)

Not Specified

void EnterTransactionContext()

Guid ContextUtil.get_ContextId()

Not Specified

void Close()

bool ContextUtil.get_IsInTransaction()

Not Specified

void Close()

void ContextUtil.EnableCommit()

Not Specified

void Close()

void ContextUtil.DisableCommit()

Not Specified

void Close()

TransactionStatus ServiceDomain.Leave()

Not Specified

IBatisNet.DataMapper.dll

No Issues Found

Iesi.Collections.dll

No Issues Found

log4net.dll

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class log4net.Appender.ColoredConsoleAppender:

void Append(LoggingEvent)

IntPtr GetStdHandle(uint)

Kernel32.dll

void Append(LoggingEvent)

IntPtr GetStdHandle(uint)

Kernel32.dll

void Append(LoggingEvent)

bool GetConsoleScreenBufferInfo(IntPtr, ColoredConsoleAppender/CONSOLE_SCREEN_BUFFER_INFO&)

Kernel32.dll

void Append(LoggingEvent)

bool SetConsoleTextAttribute(IntPtr, UInt16)

Kernel32.dll

void Append(LoggingEvent)

bool SetConsoleTextAttribute(IntPtr, UInt16)

Kernel32.dll

void ActivateOptions()

int GetConsoleOutputCP()

Kernel32.dll

Class log4net.Appender.LocalSyslogAppender:

void ActivateOptions()

void openlog(IntPtr, int, LocalSyslogAppender/SyslogFacility)

libc

void Append(LoggingEvent)

void syslog(int, string)

libc

void OnClose()

void closelog()

libc

Class log4net.Appender.NetSendAppender:

void Append(LoggingEvent)

int NetMessageBufferSend(string, string, string, string, int)

netapi32.dll

Class log4net.Appender.OutputDebugStringAppender:

void Append(LoggingEvent)

void OutputDebugString(string)

Kernel32.dll

Class log4net.Util.NativeError:

string GetErrorMessage(int)

int FormatMessage(int, IntPtr&, int, int, String&, int, IntPtr)

Kernel32.dll

Class log4net.Util.WindowsSecurityContext:

WindowsIdentity LogonUser(string, string, string)

bool LogonUser(string, string, string, int, int, IntPtr&)

advapi32.dll

WindowsIdentity LogonUser(string, string, string)

bool DuplicateToken(IntPtr, int, IntPtr&)

advapi32.dll

WindowsIdentity LogonUser(string, string, string)

bool CloseHandle(IntPtr)

kernel32.dll

WindowsIdentity LogonUser(string, string, string)

bool CloseHandle(IntPtr)

kernel32.dll

WindowsIdentity LogonUser(string, string, string)

bool CloseHandle(IntPtr)

kernel32.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class log4net.Appender.TelnetAppender/SocketHandler:

void OnConnect(IAsyncResult)

EndPoint Socket.get_RemoteEndPoint()

Class log4net.Config.XmlConfigurator:

void Configure(ILoggerRepository, Uri)

void WebRequest.set_Credentials(ICredentials)

void Configure(ILoggerRepository, Uri)

WebResponse WebRequest.GetResponse()

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class log4net.Appender.EventLogAppender:

void ActivateOptions()

string EventLog.LogNameFromSourceName(string, string)

Support remote machine

void ActivateOptions()

void EventLog.DeleteEventSource(string, string)

Support remote machine

void ActivateOptions()

string EventLog.LogNameFromSourceName(string, string)

Support remote machine

void ActivateOptions()

string EventLog.LogNameFromSourceName(string, string)

Support remote machine

NetronGraphLib.dll

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class Netron.GraphLib.UI.GraphControl:

void SaveImage(string)

bool BitBlt(IntPtr, int, int, int, int, IntPtr, int, int, int)

gdi32.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Netron.GraphLib.UI.GraphControlDesigner:

void Initialize(IComponent)

void ControlDesigner.Initialize(IComponent)

void OnPaintAdornments(PaintEventArgs)

void ControlDesigner.OnPaintAdornments(PaintEventArgs)

void .ctor()

void ControlDesigner..ctor()

Class Netron.GraphLib.PropertyBag:

Object System.ComponentModel.ICustomTypeDescriptor.GetEditor(Type)

Object TypeDescriptor.GetEditor(Object, Type, bool)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Netron.GraphLib.UI.GraphControlDesigner:

void Initialize(IComponent)

void ControlDesigner.Initialize(IComponent)

Not Specified

void OnPaintAdornments(PaintEventArgs)

void ControlDesigner.OnPaintAdornments(PaintEventArgs)

Not Specified

void .ctor()

void ControlDesigner..ctor()

Not Specified

Class Netron.GraphLib.PropertyBag:

Object System.ComponentModel.ICustomTypeDescriptor.GetEditor(Type)

Object TypeDescriptor.GetEditor(Object, Type, bool)

Not Specified

NetronMaths.dll

No Issues Found

NHibernate.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class NHibernate.Bytecode.CodeDom.BytecodeProviderImpl/Generator:

IReflectionOptimizer Build(string)

CompilerResults CodeDomProvider.CompileAssemblyFromSource(CompilerParameters, String[])

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class NHibernate.Property.BasicSetter:

void Emit(ILGenerator)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class NHibernate.Bytecode.EmitUtil:

void EmitCreateDelegateInstance(ILGenerator, Type, MethodInfo)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

Class NHibernate.Property.BasicGetter:

void Emit(ILGenerator)

void ILGenerator.EmitCall(OpCode, MethodInfo, Type[])

vararg methods are not supported

NLog.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class NLog.Internal.FileAppenders.BaseFileAppender:

FileStream WindowsCreateFile(string, bool)

void FileStream..ctor(SafeFileHandle, FileAccess, int)

Class NLog.Win32.Targets.PerfCounterTarget:

void InitializePerfCounter()

PerformanceCounterCategory PerformanceCounterCategory.Create(string, string, PerformanceCounterCategoryType, CounterCreationDataCollection)

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class NLog.Internal.FileAppenders.BaseFileAppender:

FileStream WindowsCreateFile(string, bool)

IntPtr CreateFile(string, Win32FileHelper/FileAccess, int, IntPtr, Win32FileHelper/CreationDisposition, Win32FileAttributes, IntPtr)

kernel32.dll

Class NLog.Internal.Win32FileInfoHelper:

bool GetFileInfo(string, IntPtr, DateTime&, Int64&)

bool GetFileInformationByHandle(IntPtr, Win32FileHelper/BY_HANDLE_FILE_INFORMATION&)

kernel32.dll

Class NLog.Internal.Win32ThreadIDHelper:

int get_CurrentUnmanagedThreadID()

int GetCurrentThreadId()

kernel32.dll

void .ctor()

int GetCurrentProcessId()

kernel32.dll

void .ctor()

uint GetModuleFileName(IntPtr, StringBuilder, int)

kernel32.dll

Class NLog.LayoutRenderers.QpcLayoutRenderer:

void Append(StringBuilder, LogEventInfo)

bool QueryPerformanceCounter(UInt64&)

kernel32.dll

void Append(StringBuilder, LogEventInfo)

bool QueryPerformanceFrequency(UInt64&)

kernel32.dll

Class NLog.Win32.Targets.ColoredConsoleTarget:

void Write(LogEventInfo)

IntPtr GetStdHandle(int)

kernel32.dll

void Write(LogEventInfo)

bool GetConsoleScreenBufferInfo(IntPtr, ConsoleWin32Api/CONSOLE_SCREEN_BUFFER_INFO&)

kernel32.dll

void Write(LogEventInfo)

bool GetConsoleScreenBufferInfo(IntPtr, ConsoleWin32Api/CONSOLE_SCREEN_BUFFER_INFO&)

kernel32.dll

void Write(LogEventInfo)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void Write(LogEventInfo)

bool FillConsoleOutputAttribute(IntPtr, UInt16, int, ConsoleWin32Api/COORD, UInt32&)

kernel32.dll

void Write(LogEventInfo)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void ColorizeEscapeSequences(TextWriter, IntPtr, string, UInt16, UInt16)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void ColorizeEscapeSequences(TextWriter, IntPtr, string, UInt16, UInt16)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void ColorizeEscapeSequences(TextWriter, IntPtr, string, UInt16, UInt16)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void ColorizeEscapeSequences(TextWriter, IntPtr, string, UInt16, UInt16)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

void ColorizeEscapeSequences(TextWriter, IntPtr, string, UInt16, UInt16)

bool SetConsoleTextAttribute(IntPtr, UInt16)

kernel32.dll

Class NLog.Win32.Targets.OutputDebugStringTarget:

void Write(LogEventInfo)

void OutputDebugString(string)

kernel32.dll

Class NLog.Win32.ASPHelper:

ASPHelper/ISessionObject GetSessionObject()

int CoGetObjectContext(Guid&, ASPHelper/IObjectContext&)

ole32.dll

ASPHelper/IApplicationObject GetApplicationObject()

int CoGetObjectContext(Guid&, ASPHelper/IObjectContext&)

ole32.dll

ASPHelper/IRequest GetRequestObject()

int CoGetObjectContext(Guid&, ASPHelper/IObjectContext&)

ole32.dll

ASPHelper/IResponse GetResponseObject()

int CoGetObjectContext(Guid&, ASPHelper/IObjectContext&)

ole32.dll

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class NLog.Internal.FileAppenders.BaseFileAppender:

FileStream WindowsCreateFile(string, bool)

int Marshal.GetHRForLastWin32Error()

Class NLog.Internal.FileAppenders.MutexMultiProcessFileAppender:

bool GetFileInfo(DateTime&, Int64&)

SafeFileHandle FileStream.get_SafeFileHandle()

bool GetFileInfo(DateTime&, Int64&)

IntPtr SafeHandle.DangerousGetHandle()

Class NLog.LayoutRenderers.PerformanceCounterLayoutRenderer:

void InvalidatePerformanceCounter()

void PerformanceCounter.Close()

void Append(StringBuilder, LogEventInfo)

Single PerformanceCounter.NextValue()

Class NLog.Targets.WebServiceTarget:

void InvokeSoap11(Object[])

void WebRequest.set_Method(string)

void InvokeSoap11(Object[])

void WebRequest.set_ContentType(string)

void InvokeSoap11(Object[])

WebHeaderCollection WebRequest.get_Headers()

void InvokeSoap11(Object[])

Stream WebRequest.GetRequestStream()

void InvokeSoap11(Object[])

WebResponse WebRequest.GetResponse()

void InvokeSoap12(Object[])

void WebRequest.set_Method(string)

void InvokeSoap12(Object[])

void WebRequest.set_ContentType(string)

void InvokeSoap12(Object[])

Stream WebRequest.GetRequestStream()

void InvokeSoap12(Object[])

WebResponse WebRequest.GetResponse()

void InvokeHttpPost(Object[])

void WebRequest.set_Method(string)

void InvokeHttpPost(Object[])

void WebRequest.set_ContentType(string)

void InvokeHttpPost(Object[])

Stream WebRequest.GetRequestStream()

void InvokeHttpPost(Object[])

WebResponse WebRequest.GetResponse()

Class NLog.Win32.Targets.MSMQTarget:

void Write(LogEventInfo)

bool MessageQueue.Exists(string)

void Write(LogEventInfo)

MessageQueue MessageQueue.Create(string)

void Write(LogEventInfo)

void MessageQueue.Send(Object)

Message PrepareMessage(LogEventInfo)

void Message.set_Label(string)

Message PrepareMessage(LogEventInfo)

void Message.set_Recoverable(bool)

Message PrepareMessage(LogEventInfo)

void Message.set_Priority(MessagePriority)

Message PrepareMessage(LogEventInfo)

void Message.set_Body(Object)

Message PrepareMessage(LogEventInfo)

Stream Message.get_BodyStream()

Class NLog.Win32.Targets.PerfCounterTarget:

void Write(LogEventInfo)

Int64 PerformanceCounter.Increment()

void InitializePerfCounter()

void PerformanceCounter.Close()

void InitializePerfCounter()

bool PerformanceCounterCategory.Exists(string)

void InitializePerfCounter()

bool PerformanceCounterCategory.CounterExists(string, string)

void InitializePerfCounter()

bool PerformanceCounterCategory.Exists(string)

void InitializePerfCounter()

void PerformanceCounterCategory.Delete(string)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class NLog.Internal.FileAppenders.BaseFileAppender:

FileStream WindowsCreateFile(string, bool)

int Marshal.GetHRForLastWin32Error()

Not Specified

Class NLog.Internal.FileAppenders.MutexMultiProcessFileAppender:

bool GetFileInfo(DateTime&, Int64&)

IntPtr SafeHandle.DangerousGetHandle()

Not Specified

Class NLog.LayoutRenderers.PerformanceCounterLayoutRenderer:

void InvalidatePerformanceCounter()

void PerformanceCounter.Close()

Not Specified

void Append(StringBuilder, LogEventInfo)

Single PerformanceCounter.NextValue()

Not Specified

Class NLog.Targets.MailTarget:

void SendMessage(MailMessage)

void SmtpClient..ctor(string, int)

Load default settings from configuration.

void SendMessage(MailMessage)

void SmtpClient.Send(MailMessage)

Need to work on message p_w_uploads.

Class NLog.Win32.Targets.EventLogTarget:

void UpdateEventLogSource()

bool EventLog.SourceExists(string, string)

Support remote machines

void UpdateEventLogSource()

string EventLog.LogNameFromSourceName(string, string)

Support remote machine

void UpdateEventLogSource()

void EventLog.DeleteEventSource(string, string)

Support remote machine

void UpdateEventLogSource()

void EventLog.CreateEventSource(EventSourceCreationData)

Support remote machine

void UpdateEventLogSource()

void EventLog.CreateEventSource(EventSourceCreationData)

Support remote machine

Class NLog.Win32.Targets.MSMQTarget:

void Write(LogEventInfo)

bool MessageQueue.Exists(string)

Not Specified

void Write(LogEventInfo)

MessageQueue MessageQueue.Create(string)

Not Specified

void Write(LogEventInfo)

void MessageQueue..ctor(string)

Not Specified

void Write(LogEventInfo)

void MessageQueue.Send(Object)

Not Specified

Message PrepareMessage(LogEventInfo)

void Message..ctor()

Not Specified

Message PrepareMessage(LogEventInfo)

void Message.set_Label(string)

Not Specified

Message PrepareMessage(LogEventInfo)

void Message.set_Recoverable(bool)

Not Specified

Message PrepareMessage(LogEventInfo)

void Message.set_Priority(MessagePriority)

Not Specified

Message PrepareMessage(LogEventInfo)

void Message.set_Body(Object)

Not Specified

Message PrepareMessage(LogEventInfo)

Stream Message.get_BodyStream()

Not Specified

Class NLog.Win32.Targets.PerfCounterTarget:

void Write(LogEventInfo)

Int64 PerformanceCounter.Increment()

Not Specified

void InitializePerfCounter()

void PerformanceCounter.Close()

Not Specified

void InitializePerfCounter()

bool PerformanceCounterCategory.Exists(string)

Not Specified

void InitializePerfCounter()

bool PerformanceCounterCategory.CounterExists(string, string)

Not Specified

void InitializePerfCounter()

bool PerformanceCounterCategory.Exists(string)

Not Specified

void InitializePerfCounter()

void PerformanceCounterCategory.Delete(string)

Not Specified

Nullables.dll

No Issues Found

Nullables.NHibernate.dll

No Issues Found

nunit.framework.dll

No Issues Found

NVelocity.dll

No Issues Found

NVelocity.Tests.dll

No Issues Found

Castle.Facilities.AutomaticTransactionManagement.dll

No Issues Found

AspectSharp.dll

No Issues Found

AspectSharp.Lang.dll

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class AspectSharp.Lang.GacHelper:

IAssemblyEnum CreateGACEnum()

void CreateAssemblyEnum(IAssemblyEnum&, IntPtr, IAssemblyName, ASM_CACHE_FLAGS, IntPtr)

fusion.dll

Castle.ActiveRecord.dll

No Issues Found

Castle.Components.Binder.dll

No Issues Found

Castle.Components.Common.EmailSender.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Components.Common.EmailSender.Smtp.SmtpSender:

void set_Timeout(int)

void SmtpClient.set_Timeout(int)

Check to make sure an email is not being sent.

void Send(Message)

void SmtpClient.SendAsync(MailMessage, Object)

Not Specified

void Send(Message)

void SmtpClient.Send(MailMessage)

Need to work on message p_w_uploads.

MailMessage CreateMailMessage(Message)

void Attachment..ctor(Stream, string)

Not Specified

MailMessage CreateMailMessage(Message)

void Attachment..ctor(string, string)

Not Specified

void ConfigureSender(Message)

void SmtpClient.set_Port(int)

Check to make sure an email is not being sent.

Castle.Components.Common.TemplateEngine.dll

No Issues Found

Castle.Components.Common.TemplateEngine.NVelocityTemplateEngine.dll

No Issues Found

Castle.Components.Winforms.AssemblyResolver.dll

No Issues Found

Castle.Core.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Core.Logging.DiagnosticsLogger:

void .ctor(string, string, string)

bool EventLog.SourceExists(string, string)

Support remote machines

void .ctor(string, string, string)

void EventLog.CreateEventSource(EventSourceCreationData)

Support remote machine

Castle.DynamicProxy2.dll

No Issues Found

Castle.DynamicProxy.dll

No Issues Found

Castle.Facilities.ActiveRecordIntegration.dll

No Issues Found

Castle.Facilities.AspectSharp.dll

No Issues Found

Castle.MonoRail.TestSupport.dll

No Issues Found

Castle.Facilities.BatchRegistration.dll

No Issues Found

Castle.Facilities.Cache.dll

No Issues Found

Castle.Facilities.DynamicLoader.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.Facilities.DynamicLoader.DynamicLoaderFacility:

AppDomain CreateAppDomain(IConfiguration)

void AppDomainSetup.set_DisallowApplicationBaseProbing(bool)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Facilities.DynamicLoader.DynamicLoaderFacility:

AppDomain CreateAppDomain(IConfiguration)

AppDomain AppDomain.CreateDomain(string, Evidence, AppDomainSetup)

Currently it does not allow the setup in the other domain

Castle.Facilities.IBatisNetIntegration.dll

No Issues Found

Castle.Facilities.Logging.dll

No Issues Found

Castle.Facilities.NHibernateIntegration.dll

No Issues Found

Castle.Facilities.Prevalence.dll

No Issues Found

Castle.MicroKernel.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.Facilities.Remoting.RemotingFacility:

void SetUpRemotingConfiguration()

void RemotingConfiguration.Configure(string, bool)

Castle.MonoRail.ActiveRecordScaffold.dll

No Issues Found

Castle.MonoRail.ActiveRecordSupport.dll

No Issues Found

Castle.MonoRail.Framework.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.MonoRail.Framework.Views.Aspx.WebFormsViewEngine/ExecutePageProvider:

Page ExecutePage(IRailsEngineContext)

void HttpServerUtility.Execute(string, bool)

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Castle.MonoRail.Framework.CacheAttribute:

void Castle.MonoRail.Framework.ICachePolicyConfigurer.Configure(HttpCachePolicy)

void HttpCachePolicy.SetValidUntilExpires(bool)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.MonoRail.Framework.CacheAttribute:

void Castle.MonoRail.Framework.ICachePolicyConfigurer.Configure(HttpCachePolicy)

void HttpCachePolicy.SetValidUntilExpires(bool)

Not Specified

Castle.MonoRail.Framework.Views.CompositeView.dll

No Issues Found

Castle.MonoRail.Framework.Views.NVelocity.dll

No Issues Found

Castle.MonoRail.Generator.exe

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Castle.MonoRail.Generator.Generators.ControllerGenerator:

void GenerateController(CodeDomProvider, string, string, string, string, String[], TextWriter)

void CodeDomProvider.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

void GenerateTestCase(CodeDomProvider, string, string, string, string, String[], TextWriter)

void CodeDomProvider.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Castle.Windsor.dll

No Issues Found

AspectSharp.dll

No Issues Found

AspectSharp.Lang.dll

P/Invokes into native code

Calling Method

P/Invoke Method

External DLL

Class AspectSharp.Lang.GacHelper:

IAssemblyEnum CreateGACEnum()

void CreateAssemblyEnum(IAssemblyEnum&, IntPtr, IAssemblyName, ASM_CACHE_FLAGS, IntPtr)

fusion.dll

Castle.ActiveRecord.dll

No Issues Found

Castle.Components.Binder.dll

No Issues Found

Castle.Components.Common.EmailSender.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Components.Common.EmailSender.Smtp.SmtpSender:

void set_Timeout(int)

void SmtpClient.set_Timeout(int)

Check to make sure an email is not being sent.

void Send(Message)

void SmtpClient.SendAsync(MailMessage, Object)

Not Specified

void Send(Message)

void SmtpClient.Send(MailMessage)

Need to work on message p_w_uploads.

MailMessage CreateMailMessage(Message)

void Attachment..ctor(Stream, string)

Not Specified

MailMessage CreateMailMessage(Message)

void Attachment..ctor(string, string)

Not Specified

void ConfigureSender(Message)

void SmtpClient.set_Port(int)

Check to make sure an email is not being sent.

Castle.Components.Common.TemplateEngine.dll

No Issues Found

Castle.Components.Common.TemplateEngine.NVelocityTemplateEngine.dll

No Issues Found

Castle.Components.Winforms.AssemblyResolver.dll

No Issues Found

Castle.Core.dll

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Core.Logging.DiagnosticsLogger:

void .ctor(string, string, string)

bool EventLog.SourceExists(string, string)

Support remote machines

void .ctor(string, string, string)

void EventLog.CreateEventSource(EventSourceCreationData)

Support remote machine

Castle.DynamicProxy2.dll

No Issues Found

Castle.DynamicProxy.dll

No Issues Found

Castle.Facilities.ActiveRecordIntegration.dll

No Issues Found

Castle.Facilities.AspectSharp.dll

No Issues Found

Castle.Facilities.AutomaticTransactionManagement.dll

No Issues Found

Castle.Facilities.BatchRegistration.dll

No Issues Found

Castle.Facilities.Cache.dll

No Issues Found

Castle.Facilities.DynamicLoader.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.Facilities.DynamicLoader.DynamicLoaderFacility:

AppDomain CreateAppDomain(IConfiguration)

void AppDomainSetup.set_DisallowApplicationBaseProbing(bool)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.Facilities.DynamicLoader.DynamicLoaderFacility:

AppDomain CreateAppDomain(IConfiguration)

AppDomain AppDomain.CreateDomain(string, Evidence, AppDomainSetup)

Currently it does not allow the setup in the other domain

Castle.Facilities.IBatisNetIntegration.dll

No Issues Found

Castle.Facilities.Logging.dll

No Issues Found

Castle.Facilities.NHibernateIntegration.dll

No Issues Found

Castle.Facilities.Prevalence.dll

No Issues Found

Castle.MicroKernel.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.Facilities.Remoting.RemotingFacility:

void SetUpRemotingConfiguration()

void RemotingConfiguration.Configure(string, bool)

Castle.MonoRail.ActiveRecordScaffold.dll

No Issues Found

Castle.MonoRail.ActiveRecordSupport.dll

No Issues Found

Castle.MonoRail.Framework.dll

Methods missing from Mono

Calling Method

Method not yet in Mono

Class Castle.MonoRail.Framework.Views.Aspx.WebFormsViewEngine/ExecutePageProvider:

Page ExecutePage(IRailsEngineContext)

void HttpServerUtility.Execute(string, bool)

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Castle.MonoRail.Framework.CacheAttribute:

void Castle.MonoRail.Framework.ICachePolicyConfigurer.Configure(HttpCachePolicy)

void HttpCachePolicy.SetValidUntilExpires(bool)

Methods called marked with [MonoTodo]

Calling Method

Method with [MonoTodo]

Reason

Class Castle.MonoRail.Framework.CacheAttribute:

void Castle.MonoRail.Framework.ICachePolicyConfigurer.Configure(HttpCachePolicy)

void HttpCachePolicy.SetValidUntilExpires(bool)

Not Specified

Castle.MonoRail.Framework.Views.CompositeView.dll

No Issues Found

Castle.MonoRail.Framework.Views.NVelocity.dll

No Issues Found

Castle.MonoRail.Generator.exe

Methods called that throw NotImplementedException

Calling Method

Mono method that throws NotImplementedException

Class Castle.MonoRail.Generator.Generators.ControllerGenerator:

void GenerateController(CodeDomProvider, string, string, string, string, String[], TextWriter)

void CodeDomProvider.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

void GenerateTestCase(CodeDomProvider, string, string, string, string, String[], TextWriter)

void CodeDomProvider.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Castle.MonoRail.TestSupport.dll

No Issues Found

Castle.MonoRail.Views.Brail.dll

No Issues Found

Castle.MonoRail.WindsorExtension.dll

No Issues Found

Castle.Services.Logging.Log4netIntegration.dll

No Issues Found

Castle.Services.Logging.NLogIntegration.dll

No Issues Found

Castle.Services.Transaction.dll

No Issues Found

自由、创新、研究、探索……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值