Search code examples
xamarin.iosportable-class-library

Building a System.Net surrogate DLL under MonoTouch - avoiding a "Friend access" clash?


In order to get Portable Library Projects v2 working in MonoTouch, I'm currently jumping through a small number of hoops.

One of them is that I'm building a forwarding DLL for System.Net methods (see some explanation in http://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html)

However, I'm having some problems actually generating a DLL with the right name - because if I generate it as System.Net then I get an error during build of:

Error CS0281: Friend access was granted to System.Net, PublicKeyToken=7cec85d7bea7798e', but the output assembly is named System.Net, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Try adding a reference to `System.Net, PublicKeyToken=7cec85d7bea7798e' or change the output assembly name to match it (CS0281) (System.Net.Touch)

I do have a way around this - generating the file under a different name and then manually renaming it afterwards. But I'd prefer to avoid this step if I can.

Can anyone suggest a way to avoid this error while still generating an assembly called System.Net?


Solution

  • After months of research on this, it seems that the only way to do this within a solution is the workaround I already had:

    I do have a way around this - generating the file under a different name and then manually renaming it afterwards. But I'd prefer to avoid this step if I can.

    Hopefully this won't be needed soon anyway - as we have official Xamarin PCL support under production right now.