在linux下安装dotnet环境其实很简单,下载dotnet-sdk-7.0.100-linux-x64.tar.gz,解压到比如说 ~/Dotnet 目录下,然后设置如下环境变量(.bashrc):
export PATH=$PATH:$HOME/DotNet
export DOTNET_ROOT=$HOME/DotNet
多个版本的Donet可以同时安装,都解压到相同目录下,会自动按照dotnet版本放到不同的目录,不会冲突。如下是我的系统(manjaro):
[zhangsan~]$ dotnet --info
.NET SDK:
Version: 7.0.100
Commit: e12b7af219
Runtime Environment:
OS Name: manjaro
OS Version:
OS Platform: Linux
RID: manjaro-x64
Base Path: /home/zhangsan/DotNet/sdk/7.0.100/
Host:
Version: 7.0.0
Architecture: x64
Commit: d099f075e4
.NET SDKs installed:
6.0.404 [/home/zhangsan/DotNet/sdk]
7.0.100 [/home/zhangsan/DotNet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.12 [/home/zhangsan/DotNet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.0 [/home/zhangsan/DotNet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.12 [/home/zhangsan/DotNet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0 [/home/zhangsan/DotNet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/home/zhangsan/DotNet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
用下面的命令创建一个classlib类型的工程:
dotnet new classlib -n lib01 -o ./lib01/
实现很简单,就是个Toy啦:
namespace lib01;
public class Car
{
public int Doors() => 4;
}
dotnet build 编译后生成 lib01.dll
好了,下面创建一个工程来使用这个dll.
dotnet new console -n class01 -o ./class01
using lib01;
namespace zhangsan
{
class class01 {
static void Main(){
Car c = new Car();
Console.WriteLine(c.Doors());
}
}
}
把lib01.dll拷贝到 class01目录下,并且修改 class01.csproj,添加对lib01的引用。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Reference Include="lib01">
<HintPath>lib01.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
<ItemGroup> ... </ItemGroup>就是引用啦
运行如下:
[class01]$ dotnet run
4