⑴ ubuntu32 可以运行dotnetcore么
不行的,点net是微软的,水火不相容,不可能有linux版本的
dotnet restore指令表示编译项目
dotnet run表示启动项目
⑶ 如何在Linux服务器上部署Net Core
如何在Linux服务器上部署.Net Core?.Net Core是.Net Framework的新一代版本,对于新手来说,将.Net Core部署在Linux服务器上是一件相当困难的事,为了帮助大家解决困难,今天小编要给大家分享如何在Linux服务器上部署.Net Core?
1、简介
一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比如Mono .NET)。直到微软推出完全开源的.NET Core。这个开源的平台兼容.NET Standard,并且能在Windows、Linux和MacOS上提供完全一致的API。虽然这个小巧的.NET框架只是标准.NET的一个子集,但是已经相当强大了。
一方面,这个小巧的框架可以让某些功能性应用同时运行在三个平台上(就像某些功能性的Python脚本一样),另一方面,这也可以让服务器运维人员将ASP .NET服务程序部署在Linux服务器上(特别是对于运行Windows Server较为吃力的服务器)。
2、部署.NET Core
由于我没有可用的macOS设备,我将仅用Linux(服务器)作示范。我作示范的服务器是CentOS7操作系统。
SSH连接至服务器,安装.NET Core的依赖项:
然后从微软官方获取.NET Core的主程序:
如果你的服务器不能正确访问这个地址,你可能需要手动访问后面的地址,下载完毕之后,用任意一种方法传递进服务器,并命名为dotnet.tar.gz。
执行指令将组件解压至指定的位置:
创建链接以在任何路径下直接引用dotnet指令:
至此,.NET Core框架应该就在你的服务器上搭建好了。
3、尝试部署一个ASP .NET服务程序
在本地计算机上,修改Visual Studio功能,确保这一项是被安装的:
启动Visual Studio,新建一个ASP .NET Core项目:
类型选择Web应用程序。我们不对示例作太大的修改,仅仅是为了演示ASP .NET运行于.NET Core的状况。在项目资源管理器内打开Program.cs,依然是熟悉的C#代码:
为了能正常运行,我们稍稍修改代码,让host的对象初始化器看起来是这个样子:
保存工程,将整个解决方案上传至服务器。再次连接服务器,导航到你存放工程文件的目录下,执行指令:
该指令指挥.NET Core恢复这个工程引用的包,耐心等待指令执行完毕。
接着,执行指令:
这条指令将使.NET Core编译并运行这个工程。控制台没有错误信息并产生类似输出,你的ASP .NET Core应用程序就应该在正确运行了:
试着在任意设备上访问你服务器的IP地址(或者域名),如果能正确加载默认页面,你的.NET Core环境就算部署完毕了:
这个.NET框架只是.NET标准的一个子集,不一定能100%兼容一个复杂的ASP .NET服务程序。但是利用这个框架,你可以把服务器切换至Linux系统,却仍然采用ASP .NET作为服务程序的具体实现方法。你也不必为了调试运行于Linux的服务程序而专门去配置一个Linux工作环境——因为.NET Core也可以运行在Windows上,Visual Studio本身就支持使用IIS Express来本地调试一个ASP .NET Core应用程序。
⑷ win10已经安装了.net core还提示要安装
您好,Windows环境
检查当前 SDK 版本
可使用 dotnet --version 命令查看当前安装的 .NET Core SDK 最新版本。
检查所有 SDK 版本
可使用终端查看当前安装的 .NET Core SDK 版本。 打开终端并运行 dotnet --list-sdks 命令。
检查运行时版本
可使用 dotnet --list-runtimes 命令可使用查看当前安装的 .NET Core 运行时版本 。
详细信息
可通过命令 dotnet --info 查看 SDK 版本和运行时版本。 还将获得其他环境相关信息,如操作系统版本和运行时标识符 (RID)。
Linux环境
检查当前 SDK 版本
可使用 dotnet --version 命令查看当前安装的 .NET Core SDK 最新版本。
[dotnba@CentOS8 ~]$ dotnet --version
3.1.101
检查 SDK 版本
可使用终端查看当前安装的 .NET Core SDK 版本。 打开终端并运行 dotnet --list-sdks 命令。
[dotnba@CentOS8 ~]$ dotnet --list-sdks
3.1.101 [/usr/share/dotnet/sdk]
检查运行时版本
可使用 dotnet --list-runtimes 命令查看当前安装的 .NET Core 运行时版本。
[dotnba@CentOS8 ~]$ dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
如何检查是否已正确安装 .NET Core
详细信息
可通过命令 dotnet --info 查看 SDK 版本和运行时版本。 还将获得其他环境相关信息,如操作系统版本和运行时标识符 (RID)。
⑸ $home/dotnet命令是啥意思
命令
dotnet-build ——生成 .NET Core 应用程序。
dotnet-clean ——清理生成输出。
dotnet-migrate ——将有效的预览版 2项目迁移到.NET Core SDK1.0项目。
dotnet-msbuild ——提供MSBuild命令行的访问权限。
dotnet-new ——为给定的模板初始化C#或F#项目。
dotnet-pack ——创建代码的NuGet包。
dotnet-publish ——发布.NET 依赖于框架或独立应用程序
dotnet-restore ——还原给定应用程序的依赖项。
dotnet-run ——从源运行应用程序。
dotnet-sln ——用于添加,删除和列出解决方案文件中项目的选项。
dotnet-test ——使用测试运行车呢更新运行测试。
项目引用
命令
dotnet-add 引用 ——添加项目引用。
dotnet-list 引用 ——列出项目引用
dotnet-remove 引用 ——删除项目引用
NuGet 包
命令
dotnet-add 包 ——添加NuGet 包。
dotnet-remove 包 ——删除NuGet包。
NuGet命令
命令
dotnet-nuget delete ——从服务器删除或者取消列出包
dotnet-nuget locals ——清除或列出本地NuGet资源,例如http请求缓存,临时缓存或计算机范围的全局包文件夹。
dotnet-nuget push ——将包推送到服务器,并将其发布。
示例
初始化.NET Core控制台应用程序:
dotnet new console
还原给定应用程序的依赖项:
dotnet restore
生成给定目录中的项目及其依赖项:
dotnet build
运行名为myproject.dll的依赖于框架的应用:
dotnet myproject.dll
⑹ 腾讯云函数不支持C#
C#语言由于需要编译后才可以在 CoreCLR 虚拟机中运行。因此在 SCF 中的使用方式,和 Python、Node.js 这类脚本型语言不同,和Java一样有如下限制:
不支持上传代码:使用 C# 语言,仅支持上传已经开发完成,编译打包后的 zip 包。SCF 环境不提供 C# 的编译能力。
不支持在线编辑:不能上传代码,所以不支持在线编辑代码。CoreCLR 运行时的函数,在代码页面仅能看到再次通过页面上传或 COS 提交代码的方法。
自定义.NET Custom runtime
Custom Runtime的封装工作就是要把各种trigger 的事件封装一个.NET Standard库,开发云函数。自 .NET Core 2.0 开始, 提供了名为IHostedService的新接口,有助于轻松实现托管服务,文章《ASP.NET Core 3.x控制IHostedService启动顺序浅探》有深入的实现分析,基于IHostedService实现一个SCFHostService:
这里我们把SCF的Custom Runtime 抽象到ISCFHost 中
在SCFHost 类中完成Custom Runtime的业务处理,接收来自SCF 的事件,转发给函数进行处理,函数处理的接口 IFunctionInvoker:
默认实现了FunctionInvoker 把请求信息 返回给 SCF:
responseBody 代表了SCF函数的不同Trigger事件信息,我们可以根据不同的Trigger 定义不同的处理函数,例如我们处理HttpTrigger的函数为HttpFunctionInvoker:
上面我们已经完成了最小的MVP封装,利用.NET Core的依赖注入容器封装起来,我们定义了一个ISCFBuilder 来组装函数的配置和服务:
SCF 云函数开发
我们使用.NET Core的控制台程序来开发云函数,创建一个控制台程序, 引用Yhd.TencentCloud.SCF 包,把Program.cs 替换成类似代码:
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System.Threading.Tasks;
using Yhd.FindJob;
using Yhd.TencentCloud.SCF.Executors;
public class Index
{
static async Task Main(string[] args)
{
var builder = new HostBuilder()
.ConfigureSCF((context, scfbuilder) =>
{
var configuration = scfbuilder.Configuration;
scfbuilder.Services.AddFindJob(configuration);
scfbuilder.Services.AddEasyCaching(options =>
{
options.UseInMemory();
//use redis cache that named redis
options.UseRedis(configuration)
.WithJson()
;
});
scfbuilder.Services.AddTransient<IFunctionInvoker, JobsHttpFunctionInvoker>();
})
.UseConsoleLifetime();
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
}
通过ConfigureSCF 可以添加函数的依赖服务,例如上面例子中的EasyCaching 以及函数的服务, 关键的一句是 scfbuilder.Services.AddTransient<IFunctionInvoker, JobsHttpFunctionInvoker>(); 把函数的处理逻辑使用JobsHttpFunctionInvoker 进行注入。把函数的配置放到appsettings.json。
现在SCF 云函数有个问题是本地Windows开发问题,本地的函数逻辑的测试可以通过单元测试进行。还有函数打包必须在Linux环境下进行。
云函数部署
创建 bootstrap 文件
bootstrap 是运行时入口引导程序文件,Custom Runtime 加载函数时固定检索 bootstrap 同名文件,并执行该程序来启动 Custom Runtime 运行时。Custom Runtime 支持任意语言及版本开发运行函数,主要基于 bootstrap 引导程序由开发者自定义实现。其中,bootstrap 需具备以下条件:
需具有可执行权限。
能够在 SCF 系统环境(CentOS 7.6)中运行。
下面这个是 .NET Core 3.1的云函数 bootstrap 文件
#!/bin/sh
echo "Start dotnet bootstrap ~~~"
export DOTNET_ROOT=/opt/rt
export PATH=$(pwd):/opt/rt:${PATH}
dotnet ./index/bin/Release/netcoreapp3.1/index.dll
index.dll 就是我们开发的函数文件。
成功创建bootstrap和函数文件后,目录结构如下所示:
├ bootstrap
└ index
需要在Linux 下执行以下命令,设置文件可执行权限,并将其添加至 ZIP 包
部署包准备好后,可以通过云函数控制台来创建和发布函数
在腾讯云云函数计算上部署.NET Core 3.1的更多相关文章
阿里云函数计算上部署.NET Core 3.1
使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂.好在很多云厂商(阿里云.Azure等)提供了Serverless服务,借助于 ...
IIS上部署Net.Core
部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...
So Easy - 在Linux服务器上部署 .NET Core App
.NET Core是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...
在IIS上部署 .Net Core 3.0 项目踩坑实录
在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreMoleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了 ...
在CentOS 8 上 部署 .Net Core 应用程序
在Centos 8 上 部署 .Net Core 应用程序 -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...
在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
ASP.NET Core学习之四 在CentOS上部署.net core
一.安装CentOs 以前在大学学过linux,但是对命令行总是有一种深深的排斥感,几年之后,还是又回来了. 1.下载 现在没法FQ,就算是FQ网速也是蜗牛一样慢,我使用阿里云的镜像站进行下载速度还是 ...
【netcore入门】在Windows IIS上部署.NET Core 2.1项目
部署之前先检查下面2个先决条件是否满足 1.安装了 IIS 模块 win7 在 控制面板→程序和功能→打开或关闭Windows功能→勾选Internet 信息服务(Internet Informati ...
CentOS7系统上部署.net core程序
一.准备工作 首先安装 xshell和 xftp ,前者用于SSH连接Linux服务器,后者用于FTP上传下载文件. xshell和xftp个人使用是免费的,下载地址 之后分别输入用户名和密码登录主 ...
⑺ 有了.net core之后,还会有人用windows server做服务器吗
必然会有,很多人都说linux性能比windows好,然后让很多学生就误以为学windows没有前景。
但是别忘了,windows的视窗是很多人脱离不了的。windows单凭这一点就死不掉
另外就是,很多系统的用户在意的是系统能用,而不要求多高性能,比如一个20人的小公司做个考勤系统,一天到晚能读写100次硬盘?这很明显用户是不会去追究那些极端优势条件的。为了维护linux系统需要招聘一个linux工程师维护显然不合理
⑻ vs2019中怎样编译和运行.net core
net core控制台程序 新建项目: 新建成功后vs组织结构: 此时磁盘的组织结构为: 查看主要的三个... 如果我们编译生成的dll文件是依赖运行主机上的dotnetcore环境的话,那么我们需要这个文件来执行...
⑼ dotnet core能写windows service吗
使用Dotnet core编写Window Service程序实践
近年来,需要编写windows service的情况越来越少,但偶尔也会用到,比如计算机定期执行数据整理的任务等等
1、创建工程
我的习惯是建立三个工程,一个Windows Service主程序,一个Console主程序,一个业务逻辑库
使用dotnet core命令创建工程
首先,可以使用dotnet new --list命令查看可以创建的工程类型
dotnet new console -n test-app // 创建Console应用,名称为“test-app”(可选)
dotnet new worker -n xxxxService // 创建Worker Service应用,用于创建Windows服务
dotnet new classlib -n xxxxBll // 创建类库,用于编写业务逻辑代码(可选)
dotnet new sln -n xxxx // 创建解决方案
使用VS、VSCode或Rider等IDE打开解决方案,把项目添加到solution中,建立引用关系等操作。
注:Worker Service程序相对于以往的Windows Service开发,可以直接进行调试,小的工程也可以直接创建Worker,而无需创建test-app调试用工程与BLL类库。
2、业务逻辑编写与调试
设置test-app为启动项,可以方便的进行开发和调试,把业务逻辑代码都写到BLL中。
3、开发Windows Service
3.1、把Worker Service改造成Windows Service
1、在项目中添加nuget包:Microsoft.Extensions.Hosting.WindowsServices,选好对应版本。
例如,我的Microsoft.Extensions.Hosting版本是3.1.3,于是选择Microsoft.Extensions.Hosting.WindowsServices的版本为3.1.3
2、在program.cs内部,将UseWindowsService()添加到CreateHostBuilder
Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
3、把BLL与Worker Service程序做好关联即可发布。
⑽ VS2017在Windows10下如何运用命令行编译运行
如果是 dotnet framework 项目,使用 msbuild.exe 进行编译
如果是 dotnet Core 项目,用 dotnet 命令进行编译