.NET Core Ecosystem
Application Models
- Web
- Mobile
- Desktop
- Microservices
- Gaming
- Machine Learning
- Cloud
- Internet of Things
| Language | Version |
|---|---|
| C# | |
| Visual Basic | |
| F# | 4.7 |
| Platform | Version | Feature |
|---|---|---|
| .NET Core | 3.0 | (runs anywhere!) Windows, Linux, and macOS |
| .NET Framework | 4.8 | websites, services, and apps on Windows |
| Xamarin/Mono | a .NET for mobile | |
| .NET Standard | The one platform, the shared set of libraries for the above |
Library
- Nuget
Tools
- Visual Studio Marketplace
Learn More
| Training | Progress |
|---|---|
| .NET Core 101 (Youtube) | 3/8 |
Resources
TechNet: Microsoft Documentation For all IT professionals, developers, and end users
MSDN: Microsoft Developer Network Any Developer, Any App, Any Platform
Windows Azure Virtual Machines & Networking
- Build xxxx
- Microsoft Ignite xxxx
- Azure Con xxxx
.NET - 3rd Party Resources
.NET Unit Testing Frameworks
- MsTest
- xUnit
- NUnit
MsTest, NUnit, xUnit are test framework, MsTest is what we using right now, but seems xUnit is more clear and lean.
.NET Mock/Fake Frameworks
- Mock Frameworks & Microsoft Fakes: https://saucelabs.com/blog/mock-frameworks-vs-microsoft-fakes
- Moq:
- NSubstitute
- Official: https://nsubstitute.github.io/
- http://ilkinulas.github.io/programming/unity/2016/02/25/mocking-with-nsubstitute.html
MS Mock framework, MS Fakes, Moq, NSubstitute are mocking and faking frameworks that used for UT, seems NSubstitute is more clean for UT coding.
Code Refactoring
- Design patterns
- Creational patterns
- Structural patterns
- Behavioral patterns
- AntiPatterns
- Software Development AntiPatterns
- Software Architecture AntiPatterns
- Project Management AntiPatterns
- Refactoring
- Code Smells
- Refactoring techniques
- UML
- Introduction
- Introduction to the Case Study
- Modeling Business Systems
- Modeling IT Systems
- Modeling for System Integration
- Refactoring
- Design Patterns
What's .NET Framework
.NET Framework = Java Runtime (Execution Runtime))
C# = Java (Programming Language)
Check Project Source Codes
- Get/download source codes from code repository (from VSTS)
- Restore Nuget Packages
- Right-click solution name
- Click 'Restore Nuget Packages'
- Rebuild
- Right-click solution name
- Click 'Clean Solution'
- Right-click solution name
- Click 'Rebuild Solution'
.NET Framework Versioning
How to: Determine which .NET Framework version project developed on
- Right-click project name
- Click 'Properties' (or Press Alt+Enter)
How to: Determine which .NET Framework versions are installed on the Machine
C# Versions
- C# 6.0 - .NET 4.6, VS 2015
- C# 7.0 - .NET 4.7, VS 2017
- C# 8.0 - in preview
Application Types
- Library
- Class Library
- Console
- Console App
- Desktop
- Windows Forms App
- WPF App (Windows Presentation Foundation) - XAML
- Web
- ASP.NET Web Site - Script block in web page source
- ASP.NET Web Forms - .aspx + .cs
- ASP.NET Web App - .cshtml (Razor) + .cs
- ASP.NET MVC - for dynamic web pages
- ASP.NET Web API - for REST API
Console App
Set Console App Project as StartUp Project
- Right-click project name
- Click 'Set as StartUp Project'
Program Entry
- File: Program.cs
- Method:
static void Main(string[] args)
* args: Console command parameters, e.g. myApp param1, param2, ..., paramN
Exception Handling
try{
// logic
}
catch(Exception ex){
// execute when specific exception/error happends
}
Conditional Statements
- IF, Switch, For, While
https://www.guru99.com/c-sharp-conditional-statements.html
Log Level
- Debug
- Info
- Warn
- Error
- Fatal
API Error Handling
- HTTP 200 + Succeed Flag = Logical Correct
- HTTP 200 + Failed Flag = Logical Incorrect
- HTTP 404/500 (Web Server/Software Error, Authentication Error) = Application Error
- HTTP 505 (Network Not Found) = Network Error
HTTP Method
- HTTP GET (URL only)
- POST (with HTTP body)
- HEAD
- OPTION (query description doc)
- PUT
- DELETE
HTTP Request/Response Model
- Request
- HTTP URL
- HTTP Headers (including cookies)
- HTTP Body
- Response
- HTTP Headers (including return code)
- HTTP Body
JSON (JavaScript Object Notation)
- Serialize: Object(s) -> JSON text/string
- Deserialize: JSON text/string -> Object(s)
Generic Type
public static FunctionName<T>
Variable Types
- Reference Type (Class, ref)
- Pass itself into function, and will be returned back with value changes in function
- Value Type (Structure, basic types e.g. numbers)
- Pass its shadow copy and original variable will not be impact
C# Lambda Expressions
.NET Core Ecosystem的更多相关文章
- [翻译]为你的服务器选择正确的.NET
英文原文 By Daniel Roth ASP.NET 5 is based on the .NET Execution Environment (DNX), which supports runni ...
- 魅力 .NET:从 Mono、.NET Core 说起
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
- [转]Writing Custom Middleware in ASP.NET Core 1.0
本文转自:https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ One of the new ...
- .NET:从 Mono、.NET Core 说起
魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...
- NoSQL生态系统(nosql ecosystem)
Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of se ...
- Introducing .NET Core
At connect(), we announced that .NET Core will be entirely released as open source software. I also ...
- Spring Framework Ecosystem – Introduction to Spring Projects
来自于:http://springtutorials.com/spring-ecosystem/ Hello and Welcome to Spring Tutorials Blog! Is it f ...
- 一篇很好的解释了.Net Core, .Net Framework, .Net standard library, Xamarin 之间关系的文章 (转载)
Introducing .NET Standard In my last post, I talked about how we want to make porting to .NET Core e ...
- 魅力 .NET:从 Mono、.NET Core[转]
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
随机推荐
- [GYCTF2020]Ezsqli 无列名注入
手工注入了几下,是数字注入,过滤了 or , union 输入1||1=1 回显Nu1L 再输入 1&&(ascii(substr(database(),1,1))>32)# ...
- layui模板注册表单
今天晚上用layui模板做了一个简单的注册表单,功能主要有可以js验证密码重复,可以验证手机号码. 这是界面 下面是我的html文件代码 <!DOCTYPE html> <html ...
- 流程控制、if、elif、else,whilie、break、continue的使用
今日内容 流程控制理论 if判断 while循环 流程控制概念 流程控制就是控制事物的执行流程 执行流程的分类 顺序结构 从上往下依次执行,代码运行流程图如下 分支结构 根据某些条件判断做出不同的运行 ...
- np.vectorize()和crosstab()和pivotTab()函数解释
numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None) Parameter ...
- 全卷积网络(FCN)实战:使用FCN实现语义分割
摘要:FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题. 本文分享自华为云社区<全卷积网络(FCN)实战:使用FCN实现语义分割>,作者: AI浩. FCN对图像进行像素级的 ...
- centos7升级openssh8.7&openssl1.1.1l脚本
脚本下载地址或首页联系本人获取 https://files.cnblogs.com/files/blogs/705493/update_ssh.sh 需搭配openssh8.7和openssl1.1. ...
- maltego的基本使用
首次使用maltego需要注册 注册网站:https://www.paterva.com/web7/buy/maltego-clients/maltego-ce.php 填写好点注册就行了 1. 打开 ...
- APACHE ACTIVEMQ安装
APACHE ACTIVEMQ安装 一.特点 支持各种语言和协议的客户端.如:Java.C.C++.C#.Ruby.Perl.Python及Php. 完全支持JMS的客户端及其他消息代理 完全支持JM ...
- CF1556F Sports Betting (状压枚举子集DP)
F 对于一张比赛图,经过缩点,会得到dag,且它一定是transitive的,因此我们能直接把比赛图缩成一个有向链.链头作为一个强连通分量,里面的所有点都是胜利的 定义F(win)表示win集合作为赢 ...
- Linux C申请内存三种基本方式
一份代码可以知道具体方式和原理: int main() { int stack_a; int stack_b; static int static_c; static int static_d; in ...