So, I've actually run MoMA against NAnt-0.91 and turns out it does
have some P/Invokes (19 in total). I'm not sure whether NAnt actually
triggers them (as they would explode beautifully on Mono+Linux), but
I'm attaching a list here for the record - all of those will need to
be examined if the build is going to be 'AnyCPU'. Simplest solution
(for now, and contrary to what I have written yesterday) is to build
as 'x86'. A long-term goal (but probably doable in less then a day)
would be to inspect those external calls and either remove them or
make sure they are 32/64 bit safe[1].
[1]: MSDN article on the topic:
http://msdn.microsoft.com/en-us/library/ms973190.aspx
On Tue, Nov 15, 2011 at 1:00 AM, Brass Tilde <brassti...@gmail.com> wrote:
>> On Nov 14, 2011, at 8:53 AM, Leszek Ciesielski <skol...@gmail.com> wrote:
>>
>>> Does NAnt need the x86 config? Is there actually any P/Invoke code
>>> that will break with the 'Any CPU' setting? I was under the impression
>>> that there wasn't.
>> Not that I can tell. I haven't seen any p/invoke code anywhere.
>>>
>>> So the 'Debug|Any CPU' and 'Release|Any CPU' platforms should be enough.
>> Great, thanks for the feedback.
>
> I'd agree with both of those assessments.
>
Title: MoMA Scan Results
Scan Date: 2011-11-15 09:59:43
MoMA Definitions: Mono 2.8 (4.0 Profile)
For descriptions of issues, see
MoMA Issue Descriptions.
|
|
Assembly |
Version |
Missing |
Not Implemented |
Todo |
P/Invoke |
![]() |
![]() |
log4net.dll |
1.2.10.0 |
0 |
0 |
6 |
3 |
|
void ActivateOptions () |
void LocalSyslogAppender.openlog (IntPtr, int, LocalSyslogAppender/SyslogFacility) |
libc |
void Append (LoggingEvent) |
void LocalSyslogAppender.syslog (int, string, string) |
libc |
void OnClose () |
void LocalSyslogAppender.closelog () |
libc |
|
|
![]() |
NAnt.CompressionTasks.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
![]() |
![]() |
NAnt.Core.dll |
0.91.4312.0 |
0 |
0 |
7 |
3 |
|
void SetSingleEnvironmentVariable (string, string) |
int SetEnvTask.unsetenv (string) |
libc |
void SetSingleEnvironmentVariable (string, string) |
int SetEnvTask.setenv (string, string, int) |
libc |
void SetSingleEnvironmentVariable (string, string) |
bool SetEnvTask.SetEnvironmentVariable (string, string) |
kernel32.dll |
|
|
![]() |
NAnt.DotNetTasks.dll |
0.91.4312.0 |
0 |
0 |
1 |
0 |
|
![]() |
NAnt.MSNetTasks.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
NAnt.NUnit.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
NAnt.NUnit1Tasks.dll |
0.91.4312.0 |
0 |
0 |
1 |
0 |
|
![]() |
NAnt.NUnit2Tasks.dll |
0.91.4312.0 |
0 |
0 |
2 |
0 |
|
![]() |
NAnt.SourceControlTasks.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
NAnt.VisualCppTasks.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
![]() |
![]() |
NAnt.VSNetTasks.dll |
0.91.4312.0 |
0 |
1 |
7 |
1 |
|
string GetTypeLibraryName (string) |
void WrapperReferenceBase.LoadTypeLibEx (string, int, Object&) |
oleaut32.dll |
|
|
![]() |
NAnt.Win32Tasks.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
NDoc.Documenter.NAnt.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
NAnt.exe |
0.91.4312.0 |
0 |
0 |
1 |
0 |
|
![]() |
scvs.exe |
0.36.5.0 |
0 |
0 |
1 |
0 |
|
![]() |
NAnt.MSBuild.dll |
0.91.4312.0 |
0 |
0 |
0 |
0 |
|
![]() |
nunit-console-runner.dll |
2.2.8.0 |
0 |
0 |
0 |
0 |
|
![]() |
nunit.core.dll |
2.2.8.0 |
0 |
0 |
0 |
0 |
|
![]() |
nunit.framework.dll |
2.2.8.0 |
0 |
0 |
0 |
0 |
|
![]() |
nunit.util.dll |
2.2.8.0 |
0 |
0 |
1 |
0 |
|
![]() |
nunit-console.exe |
0.0.0.0 |
0 |
0 |
0 |
0 |
|
![]() |
ICSharpCode.SharpCvsLib.Console.dll |
0.36.5.0 |
0 |
0 |
1 |
0 |
|
![]() |
ICSharpCode.SharpCvsLib.dll |
0.36.5.0 |
0 |
0 |
0 |
0 |
|
![]() |
ICSharpCode.SharpZipLib.dll |
0.86.0.518 |
0 |
0 |
0 |
0 |
|
![]() |
NDoc.Core.dll |
1.3.3152.0 |
0 |
0 |
6 |
0 |
|
![]() |
NDoc.Documenter.Msdn.dll |
1.3.3152.0 |
0 |
0 |
0 |
0 |
![]() |
![]() |
NDoc.ExtendedUI.dll |
1.3.3152.0 |
0 |
0 |
0 |
12 |
|
void EnableOk (IntPtr, bool) |
int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, int) |
User32.dll |
void SetExpanded (IntPtr, string) |
int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) |
User32.dll |
void SetOkText (IntPtr, string) |
int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) |
User32.dll |
void SetSelection (IntPtr, string) |
int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) |
User32.dll |
void SetStatusText (IntPtr, string) |
int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) |
User32.dll |
DialogResult ShowDialog () |
int ShellApi.SHGetFolderLocation (IntPtr, int, IntPtr, uint, IntPtr&) |
shell32.dll |
DialogResult ShowDialog () |
int ShellApi.SHParseDisplayName (string, IntPtr, IntPtr&, uint, UInt32&) |
shell32.dll |
DialogResult ShowDialog () |
IntPtr ShellApi.SHBrowseForFolder (ShellApi/BROWSEINFO&) |
shell32.dll |
DialogResult ShowDialog () |
int ShellApi.StrRetToBSTR (ShellApi/STRRET&, IntPtr, String&) |
shlwapi.dll |
bool IsPIDLFileSystem (IntPtr) |
int ShellApi.StrRetToBSTR (ShellApi/STRRET&, IntPtr, String&) |
shlwapi.dll |
IMalloc GetMalloc () |
int ShellApi.SHGetMalloc (IntPtr&) |
shell32.dll |
IShellFolder GetDesktopFolder () |
int ShellApi.SHGetDesktopFolder (IntPtr&) |
shell32.dll |
|
|
![]() |
NUnitCore.dll |
1.11.786.40392 |
0 |
0 |
0 |
0 |
|
![]() |
SimpleExtension.dll |
0.0.0.0 |
0 |
0 |
0 |
0 |
|
|
Totals |
|
0 |
1 |
34 |
19 |
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers