Bug 27020 - Compiling class with "fixed" member against System.Runtime.dll contract fails with StructLayoutAttribute not accessible
Summary: Compiling class with "fixed" member against System.Runtime.dll contract fails...
Status: RESOLVED FIXED
Alias: None
Product: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2015-02-12 22:21 UTC by Alexander Köplinger
Modified: 2015-02-13 10:51 UTC (History)
1 user (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Alexander Köplinger 2015-02-12 22:21:51 UTC
Compiling the following class against MS System.Runtime.dll contract fails with mcs, but compiles fine with csc:

> class Interop
> {
>     unsafe struct dirent 
>     {
>         fixed byte d_name[256]; 
>     }
> }

Get the System.Runtime.dll contract from NuGet:

> curl -sSL https://www.nuget.org/api/v2/package/System.Runtime/4.0.20-beta-22416 > temp.zip && unzip -p temp.zip lib/portable-wpa80%2Bwin80%2Bnet45%2Baspnetcore50/System.Runtime.dll > System.Runtime.dll

Compile it:

> mcs /target:library /unsafe /nostdlib /reference:System.Runtime.dll test.cs

This results in the following error:

> test.cs(5,29): error CS0656: The compiler required member `System.Runtime.InteropServices.StructLayoutAttribute..ctor(short)' could not be found or is inaccessible

Note: this is part of my work getting dotnet/corefx compiling with Mono, let me know if this is doing something weird ;)
Comment 1 Marek Safar 2015-02-13 10:51:22 UTC
Fixed in master

Note You need to log in before you can comment on or make changes to this bug.