xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.49k stars 515 forks source link

Review usage of Fsharp.core.dll in our reference assemblies #5180

Closed VincentDondain closed 6 years ago

VincentDondain commented 6 years ago

From VSTS: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/704962

We are currently shipping 5 instances of fsharp.core.dll as part of the reference assemblies we ship for XI, they are different in versions and signing.

We should try to unify this and ship (if possible at all) one version and signed by Microsoft.

Note: XVS gets the reference assemblies from the Bundle.zip file shipped by XI/XM.

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoTouch\v1.0

05/25/2018  01:54 AM         1,526,272 FSharp.Core.dll
               1 File(s)      1,526,272 bytes

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0

05/25/2018  01:54 AM         1,526,272 FSharp.Core.dll
               1 File(s)      1,526,272 bytes

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.Mac\v2.0

05/25/2018  01:54 AM         1,496,576 FSharp.Core.dll
               1 File(s)      1,496,576 bytes

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.TVOS\v1.0

05/25/2018  01:54 AM         1,526,272 FSharp.Core.dll
               1 File(s)      1,526,272 bytes

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.WatchOS\v1.0

05/25/2018  01:54 AM         1,526,272 FSharp.Core.dll
               1 File(s)      1,526,272 bytes
spouliot commented 6 years ago

We used to ship our own F# before we had other means (like PCL/netstandard support). The assemblies are pre-built binaries shipped for compatibility only, otherwise existing projects might break. Changing the version or signature would be a breaking change for 3rd party binaries.

@VincentDondain can check the templates to make sure new projects are using the latest F# (and not the old one we're shipping).

VincentDondain commented 6 years ago

@spouliot new templates in VSMac are using FSharp.Core from a nuget package: ..\packages\FSharp.Core.4.3.3\lib\netstandard1.6\FSharp.Core.dll

Closing the issue based on your comment:

The assemblies are pre-built binaries shipped for compatibility only, otherwise existing projects might break. Changing the version or signature would be a breaking change for 3rd party binaries.

cc/ @emaf @victorgarciaaprea