none
.NET portability from Windows to Linux/OS X and Linux/OS X equivalent of Global Assembly Cache (GAC) RRS feed

  • Question

  • Hi

    Got 2 questions:

    1. Is there a Linux/OS X equivalent of Global Assembly Cache (GAC) for .NET Assemblies?

    2. Is .NET (viz. C# and SQL Server Application) 100% portable from Windows to Linux/OS X as much as the portability of JVM (viz. Java and MySQL/Oracle Application) from Windows to Linux/OS X?

    Thanks

    Tuesday, July 17, 2018 8:17 AM

Answers

  • If you're targeting .NET Core then you can target Windows, Linux or iOS. There is no GAC in .NET Core so that concept doesn't exist in Linux/iOS. The purpose of the GAC was to share assemblies across apps without replicating the binaries but that sort of goes against what .NET Core was striving for.

    However .NET Core 2.0 has the concept of a runtime package store. This is clearly designed to allow the .NET Core runtime to be packaged and deployed once (think .NET Framework again) but might also be a stepping stone for doing this with your own shared assemblies. However I don't know that anybody is going that route.


    Michael Taylor http://www.michaeltaylorp3.net

    Tuesday, July 17, 2018 3:15 PM
    Moderator

All replies

  • 1. Is there a Linux/OS X equivalent of Global Assembly Cache (GAC) for .NET Assemblies?

    https://www.infoworld.com/article/3180478/development-tools/net-framework-or-net-core-when-to-use-which.html

    2. Is .NET (viz. C# and SQL Server Application) 100% portable from Windows to Linux/OS X as much as the portability of JVM (viz. Java and MySQL/Oracle Application) from Windows to Linux/OS X?

    https://www.infoworld.com/article/3180478/development-tools/net-framework-or-net-core-when-to-use-which.html

    https://www.microsoft.com/en-us/sql-server/sql-server-2017

    Tuesday, July 17, 2018 9:17 AM
  • If you're targeting .NET Core then you can target Windows, Linux or iOS. There is no GAC in .NET Core so that concept doesn't exist in Linux/iOS. The purpose of the GAC was to share assemblies across apps without replicating the binaries but that sort of goes against what .NET Core was striving for.

    However .NET Core 2.0 has the concept of a runtime package store. This is clearly designed to allow the .NET Core runtime to be packaged and deployed once (think .NET Framework again) but might also be a stepping stone for doing this with your own shared assemblies. However I don't know that anybody is going that route.


    Michael Taylor http://www.michaeltaylorp3.net

    Tuesday, July 17, 2018 3:15 PM
    Moderator