Bug 319866 (MONO77061) - [GMCS] Mono compiled code fails under VS 2005
Summary: [GMCS] Mono compiled code fails under VS 2005
Status: RESOLVED FIXED
Alias: MONO77061
Product: Mono: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 1.1
Hardware: Other Other
: P3 - Medium : Major
Target Milestone: ---
Assignee: Martin Baulig
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords: interop
Depends on:
Blocks:
 
Reported: 2005-12-21 23:54 UTC by Nigel Perry
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Tar gzip of sources and sample input file (54.88 KB, application/x-gzip)
2005-12-21 23:56 UTC, Thomas Wiest
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 19:42:02 UTC


---- Reported by perryresearch@zoot.net.nz 2005-12-21 16:54:23 MST ----

Please fill in this template when reporting a bug, unless you know what you are doing.
Description of Problem:


Steps to reproduce the problem:
1. Compiler the attached program: gmcs /out:delegates.exe *.cs
2. Execute the result: mono delegates.exe "name list.csv"
3. Now move delegates.exe * .csv to Visual Studio 2005 system
4. Execute: delegates.exe "name list.csv"

Actual Results:

(2) works (4) fails with type load error. Compile under VS 2005 and works.

peverify under VS 2005 reports errors.

How often does this happen? Always


Additional Information:

I left this as Major, but to me lack of cross-platform compatibility is fundamental...



---- Additional Comments From perryresearch@zoot.net.nz 2005-12-21 16:56:35 MST ----

Created an attachment (id=168994)
Tar gzip of sources and sample input file




---- Additional Comments From vargaz@gmail.com 2005-12-22 13:30:56 MST ----

Here is a reduced testcase:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
using System;
using System.Collections.Generic;

public class Tree<T> {
    class Node
    { public Node Left;

      // Yield based enumerator
      public IEnumerator<T> GetEnumerator()
      { foreach(T item in Left) yield return item;
      }
    }
}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



---- Additional Comments From miguel@ximian.com 2006-01-04 13:58:16 MST ----

Zoltan's test case works, but the original still fails. 

This is what PEverify reports:


Microsoft (R) .NET Framework PE Verifier.  Version  2.0.50727.42
Copyright (c) Microsoft Corporation.  All rights reserved.

[MD]: Warning: MemberRef has a duplicate, token=0x0a000054.
[token:0x0A000024]
[MD]: Warning: MemberRef has a duplicate, token=0x0a000024.
[token:0x0A000054]
[MD]: Warning: MemberRef has a duplicate, token=0x0a000024.
[token:0x0A000055]
[IL]: Error: [C:\cygwin\home\miguel\NamesDB.exe :
AnnotationSupport.Tree`1+<nullEnumerator>__0[T]::.ctor] Type load failed.
[IL]: Error: [C:\cygwin\home\miguel\NamesDB.exe :
AnnotationSupport.Tree`1+Node+<GetEnumerator>__1[T]::MoveNext] Type
load failed.
[IL]: Error: [C:\cygwin\home\miguel\NamesDB.exe :
AnnotationSupport.Tree`1+Node+<GetEnumerator>__1[T]::.ctor] Type load
failed.
3 Errors Verifying NamesDB.exe(3 Warnings)




---- Additional Comments From martin@ximian.com 2006-01-09 05:48:06 MST ----

Post-GUAM bug-fixing pass; week #2/2006.

Imported an attachment (id=168994)

Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>Fedora Core 4 & Debian</cf_op_sys_details>
Unknown operating system other. Setting to default OS "Other".