.netcore入门
开发环境:windows 编辑器: Visual Studio Code
环境安装:
.Net Core 1.1 SDK https://www.microsoft.com/net/core#windowscmd
1.新建控制台项目(参考:https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli)
1.1 安装.Net Core 1.1 SDK完成后,打开cmd命令窗口,输入dotnet,可以看到如下,说明安装成功
E:\lindy\netcoreproject\aspnetcoreapp>dotnet Microsoft .NET Core Shared Framework Host Version : 1.1.0
Build : 928f77c4bc3f49d892459992fb6e1d5542cb5e86 Usage: dotnet [common-options] [[options] path-to-application] Common Options:
--help Display .NET Core Shared Framework Host help. --version Display .NET Core Shared Framework Host versi
on. Options:
--fx-version <version> Version of the installed Shared Framework to
use to run the application.
--additionalprobingpath <path> Path containing probing policy and assemblies
to probe for. Path to Application:
The path to a .NET Core managed application, dll or exe file to execute. If you are debugging the Shared Framework Host, set 'COREHOST_TRACE' to '1' in y
our environment. To get started on developing applications for .NET Core, install the SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
1.2.输入以下命令,可以看到在hwapp目录下创建了一个控制台项目,cmd控制台窗口可看到“Hello World!"输出
mkdir hwapp
cd hwapp
dotnet new
dotnet restore
dotnet run
1.3 在vscode下调试项目
用vscode打开hwapp文件夹;在扩展菜单那里找到C#扩展,并安装 ;点击调试菜单,并点击设置栏,选择.net core作为debug环境;打开program.cs文件,点击开始调试(F5),运行可看到调试控制台“Hello World!"输出(ps:默认调试当前打开文件)
2.新建asp.net core程序(https://docs.microsoft.com/zh-cn/aspnet/core/getting-started)
2.1 新建项目
mkdir aspnetcoreapp
cd aspnetcoreapp
dotnet new –t web
2.2 恢复包文件(ps:nuget包默认路径,在当前用户下的.nuget文件夹里,例如C:\Users\lindanyang\.nuget,即我们加载的nuget包都在此路径下)
dotnet restore
此处可能由于被墙的原因,会报如下错误:
error: Failed to retrieve information from remote source 'http://go.microsoft.co
m/fwlink/?LinkID=206669/FindPackagesById()?id='Microsoft.AspNetCore.Diagnostics.
EntityFrameworkCore''.
error: Response status code does not indicate success: 301 (Moved Permanently).
解决方法,在项目路径下添加 NuGet.config 文件,添加nuget源
配置如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="AspNetCI" value="https://www.myget.org/F/aspnetcirelease/api/v3/index.json" />
</packageSources>
</configuration>
2.3 运行网站
dotnet run
.net core版本配置问题也可能导致如下错误:
The specified framework 'Microsoft.NETCore.App', version '1.1.0-preview1-001153-
00' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\shared\Microsoft.NETCore.App
- The following versions are installed:
1.1.0
- Alternatively, install the framework version '1.1.0-preview1-001153-00'.
解决方法:
根据dotnet命令获取.net core版本,修改project.json文件的.net core版本Version,如果nuget包的相关版本不对,也要修改:
"userSecretsId": "aspnet-WebApplication-0799fe3e-6eaf-4c5f-b40e-7c6bfd5dfa9a", "dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
},
保存后再次执行 dotnet restore 和 dotnet run 命令
2.4 打开网站,如下图所示
http://localhost:5000/
2.5 项目文件下有README.md 文件,里面有web项目相关操作的教程网址,可以进一步学习
2.6 vscode操作:vscode操作部分和控制台程序一致,有以下差异:
(1)配置启动程序dll路径,即配置launch.json为如下路径:在name为.NET Core Launch (web)处配置program为${workspaceRoot}/bin/Debug/netcoreapp1.1/aspnetcoreapp.dll
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/bin/Debug/netcoreapp1.1/aspnetcoreapp.dll",
"args": [],
"cwd": "${workspaceRoot}",
"stopAtEntry": false,
"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"windows": {
"command": "cmd.exe",
"args": "/C start ${auto-detect-url}"
},
"osx": {
"command": "open"
},
"linux": {
"command": "xdg-open"
}
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceRoot}/Views"
}
}
(2)注意把之前用dotnet run命令启动的网站停掉:Ctrl+C,否则会报错
(3)注意到\Views\Shared\_Layout.cshtml文件引用的css和js文件并没有在文件夹里,需要另外下载加到路径里,之前dotnet run命令引用到的文件在
<environment names="Staging,Production">标签里,而vscode是开发模式,引用的文件在<environment names="Development">里,而
~/lib/bootstrap/dist/css/bootstrap.css在项目文件夹里并没有,需要自己另外下载,其他的js文件也一样。
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
ps:其他详细配置和多项目程序待研究
补充:多项目程序 :http://www.cnblogs.com/ldybyz/p/6483571.html
.netcore入门的更多相关文章
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
IT咨询顾问:一次吐血的项目救火 年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...
- NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json
一.简介 1.读取配置文件是开发过程中使用非常频繁的操作.属称”不能写死“ 二.NetCore读取配置文件 1.新建一个静态公共变量,属称单例. 2.在程序Startup启动时,将系统变量传递给单例. ...
- NetCore入门篇:(八)Net Core项目使用Controller之三
一.简介 1.本节主要说明入参的几种接收方式 二.不限定模式 1.定义一个id入参与一个model入参. 2.get\post分别查看访问效果. api代码 public class OneContr ...
- NetCore入门篇:(六)Net Core项目使用Controller之一
一.简介 1.当前最流行的开发模式是前后端分离,Controller作为后端的核心输出,是开发人员使用最多的技术点. 2.个人所在的团队已经选择完全抛弃传统mvc模式,使用html + webapi模 ...
- NetCore入门篇:(一)Net Core环境安装
一.下载Visual Studio 2017 1.下载地址:https://www.visualstudio.com/zh-hans/downloads/ 2.选择要下载的版本 二.安装Net Cor ...
- NetCore入门篇:(十二)在IIS中部署Net Core程序
一.简介 微软已经为net在iis中的部署提供了良好的支持,在IIS中部署NetCore是一件很容易的事. 二.在IIS中部署Net Core程序 1.微软官方文档有详细说明.进入 2.如果你已经熟悉 ...
- .NetCore 入门
.net core是什么? .net core是一个可以用来构建现代.可伸缩和高性能的跨平台软件应用程序的通用开发框架. 我们为什么要使用.net core,也就是说.net core有什么好处? 跨 ...
- netcore入门-基础
.NETCORE1.0出来了,咦不错,什么开源,跨平台的,观望下等2.0:我擦2.0出来了可以学习了,截止到目前2.1都快出来了,是时候学习一下了. 先建一个webapi项目,从简单的demo开始 l ...
随机推荐
- cxGrid控件过滤排序和TClientDataSet同步
https://www.cnblogs.com/false/archive/2013/02/24/2924240.html procedure TReport10Form.cxGridViewData ...
- 经过实际验证的C#调用Haskell的方法
[系统环境] Windows Server 2008 R2,Haskell Platform 2013.2.0.0,ghc 7.6.3,cabal 1.16.0 [操作步骤] 1. 安装Windows ...
- 【VB.NET】利用纯真IP数据库查询IP地址及信息
几年前从某个博客抄来的,已经忘记原地址了,如果需要C#版的,可以在博客园搜到吧.我因为自己用,所以转换为了VBNET代码,而且也放置了很久,今天无意间翻出来,就分享给大家吧. 首先,先下载 纯真数据库 ...
- 58VIP账号发贴器
因公司有招聘大量普工需求,需要大量简历资源,直接从58买一份简历动辄几块到几十块,如果做精准少则1块以上的点击.而且收到的简历不太精准,应公司需求写了一款自动发贴器.完全模拟人工发贴,经过一个月的测试 ...
- Log4Net记录到数据库
WinForm下Log4Net的配置 Log4Net 组件下载地址 https://download.csdn.net/download/zgx123zgx123zg/10470986 configS ...
- ASP.NET MVC WebAPI实现文件批量上传
工作中学习,学习中记录~~~~~~ 最下面附上demo 任务需求:需要做一个apI接口让C#的程序调用实现批量文件的上传. 难度: 没有做过通过API上传文件的...之前做过网站前后台上传. 首先当然 ...
- 【BZOJ4827】 [Hnoi2017]礼物
BZOJ4827 [Hnoi2017]礼物 Solution 如果一串数的增加,不就等于另一串数减吗? 那么我们可以把答案写成另一个形式: \(ans=\sum_{i=1}^n(x_i-y_i+C)^ ...
- Java知识锦囊
最近突然想回顾一下之前的文章,回顾复习一下,正好把觉得还不错的文章收录到这里,方便查阅 Java 2018-04-02 Java计数器之CountDownLatch.CyclicBarrier.Sem ...
- 【ElasticSearch】:索引Index、文档Document、字段Field
因为从ElasticSearch6.X开始,官方准备废弃Type了.对应数据库,对ElasticSearch的理解如下: ElasticSearch 索引Index 文档Document 字段Fiel ...
- 脚本中 if 判断细节
if [[ $1 == "fedora" ]];then echo "redhat" elif [[ $1 == "redhat" ]];t ...