Where is dotnet runtime 7.0 for freebsd ?




Landing! <https://www.freshports.org/lang/dotnet/#packages>

Code:
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --fetch-only --quiet --yes lang/dotnet
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --no-repo-update lang/dotnet
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        compat13x-amd64: 13.2.1302001.20231227 [FreeBSD-ports]
        dotnet: 8.0.0 [FreeBSD-ports]

Number of packages to be installed: 2

The process will require 472 MiB more space.

Proceed with this action? [y/N]: y
[1/2] Installing compat13x-amd64-13.2.1302001.20231227...
[1/2] Extracting compat13x-amd64-13.2.1302001.20231227: 100%
[2/2] Installing dotnet-8.0.0...
[2/2] Extracting dotnet-8.0.0: 100%
root@mowa219-gjp4-zbook-freebsd:~ # date ; uname -aKU
Tue Feb  6 07:49:24 GMT 2024
FreeBSD mowa219-gjp4-zbook-freebsd 15.0-CURRENT FreeBSD 15.0-CURRENT #2 main-n267824-0dd5a5603e7a-dirty: Sun Jan 28 17:40:54 GMT 2024     grahamperrin@mowa219-gjp4-zbook-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64 1500012 1500012
root@mowa219-gjp4-zbook-freebsd:~ # nano /usr/local/etc/pkg/repos/FreeBSD-base.conf
root@mowa219-gjp4-zbook-freebsd:~ # pkg -vv | grep -e url -e enabled -e priority
    url             : "http://pkg0.fra.freebsd.org/FreeBSD:15:amd64/latest",
    enabled         : yes,
    priority        : 2,
    url             : "pkg+https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest",
    enabled         : yes,
    priority        : 0,
    url             : "file:///usr/local/poudriere/data/packages/main-default",
    enabled         : yes,
    priority        : 3
root@mowa219-gjp4-zbook-freebsd:~ #

Now. What to do with it?

I'm quite clueless, but something at the back of my mind (distant memory) says, Microsoft OneDrive or Teams.
Or,
 
arrowd I notice the port is lang/dotnet, which is targeting dotnet version 8. That's perfect, but dotnet has a slight quirk, forgive me if you are already aware and I'm just blabbering.

So the versions are the SDK/runtime versions, and someone running or building a dotnet application on a server targets a specific runtime version (they call it a "channel"). I'm writing an application from scratch at the moment and I'm targeting the 8.0 runtime.

For that reason, in other operating systems, the dotnet versions from 6, 7 and 8 are packaged separately and the "channel" (version) is in the name.

For example:

Short story long, if a FreeBSD machine is hosting an application targeting version 8.0 with the lang/dotnet package, and then later on down the line lang/dotnet is upgraded by pkg to dotnet SDK 9.0, it may cause issues with that application.
 

Attachments

  • Screenshot 2024-02-06 at 20.11.00.png
    Screenshot 2024-02-06 at 20.11.00.png
    20.8 KB · Views: 37
arrowd I have installed dotnet using the port and have it working, however global tool installs don't appear to be.

dotnet tool install --global dotnet-ef should result in the command dotnet ef --version becoming available, but it doesn't work. You can confirm installation by running the first command again, it will tell you dotnet-ef version 8 has been installed, but the command doesn't work.

I imagine this is something to do with the path variable but I have no idea how this particular configuration is set up.

Any ideas?
 
I have installed dotnet using the port and have it working, however global tool installs don't appear to be.
As explained in the last section of this comment [1], yes it doesn't work yet and requires more cooperation from upstream

[1] https://github.com/dotnet/runtime/issues/14537#issuecomment-1949634274

Short story long, if a FreeBSD machine is hosting an application targeting version 8.0 with the lang/dotnet package, and then later on down the line lang/dotnet is upgraded by pkg to dotnet SDK 9.0, it may cause issues with that application.
This problem is manageable. Just like we have several LLVM's in Ports, we can have several .NET's.
 
Back
Top