概述

前不久我写过一篇文章拥抱开源,Office 365开发迎来新时代,给大家介绍了Office 365开发的典型场景是如何支持开源平台的:Office 365通过Microsoft Graph,以REST API的方式提供服务,任何开发平台都可以很方便地与其进行集成;Office Add-ins,SharePoint Add-ins和Microsoft Teams Apps开发,都可以基于标准的Web开发技术栈来实现,而且官方提供了对NodeJS,React,TypeScript等主流平台和框架的默认支持(工具和模板层面都有)。

文章发表之后,我收到不少反馈,其实我内心深处牵挂的还有广大的.NET开发人员啊。大家知道,.NET从头到脚都是已经完全开源了的,针对Office 365的这些开发场景,是否有开箱即用的模板可供大家使用呢?利用周末的时间,我开始了这个新的项目,就是为大家整理出来一套标准的.NET Core模板库,欢迎用你最熟悉的姿势关注 https://github.com/chenxizhang/dotnetcore-office365dev-templates,你可以简单粗暴地直接给我 star,也可以 fork 这个项目通过 pull request 提交你的模板,你还可以通过issue通道给我反馈问题。

这一套模板库,不仅仅可以降低广大的.NET 开发人员(准确地说是.NET Core开发人员)学习和使用Office 365开发平台的门槛(尤其是如何在不同的场景下完成OAuth认证以及快速通过实例学习Graph的典型功能),还有一个独特的价值是可以让你在国际版和国内版这两个平台的选择和切换过程中少走一些弯路,我相信真正做过这方面开发的朋友们现在一定是热泪盈眶的表情。

希望大家喜欢!

计划支持的模板


先决条件

要使用这些模板,你只需要在开发机器上面安装了 .NET Core SDK 版本2.0 及以上即可。请通过官方网站提示到的方式进行下载和安装(https://www.microsoft.com/net/download/)。请注意,我们现在是跨平台的哦,无论Windows,还是Mac,或是Linux都支持进行.NET Core开发。

另外,你可能至少需要一款代码编辑器,你可以安装Visual Studio,也可以使用Visual Studio Code,甚至是任何一个文本编辑器。我是使用 Visual Studio Code.

如何安装模板

安装这些模板非常简单,你只需要一行命令即可,dotnet new -i 模板标识,例如使用dotnet new -i chenxizhang.dotnetcore.msgraph.console.CSharp 来安装可以快速实现Microsoft Graph的控制台应用程序模板。

如何使用模板

模板安装成功后,你可以在模板列表中看到这些新的模板,每个模板都有一个短名称(Short Name),你可以通过 dotnet new 模板短名称来使用这些模板,例如 dotnet new graphconsole 这句命令就可以快速基于模板创建一个可以快速实现Microsoft Graph的控制台应用程序。

每个模板都带有一些参数以便支持不同的场景,最典型的参数是 --instance,这个参数将告诉模板引擎,你使用的Office 365环境是国际版还是国内版的,它是一个必填项,有两个选项,分别是global代表国际版,gallatin代表国内版,但默认会设置为国际版。

你不需要记住所有这些参数,而是可以通过 dotnet new 模板短名称 -h这样的命令来查看该模板的介绍和参数说明。

每个模板都带有一个详细的说明文档,你可以点击上表中模板短名称跳转,同时在生成的代码文件的顶部也有链接,我非常欢迎大家给我反馈。

如何卸载模板

在如下两种情况下,你可能需要卸载模板

  1. 你不再喜欢这些模板(我希望这种情况不会发生)

  2. 你需要安装模板的更新版本

无论是哪一种原因,你都可以随时简单地通过 dotnet new -u 模板标识 进行卸载,例如dotnet new -u chenxizhang.dotnetcore.msgraph.console.CSharp可以卸载控制台应用程序模板。请放心,我不会带走一片云彩。

常见问题解答(将持续更新)

  1. 这些模板支持哪些开发语言?

    目前仅支持C#。限于能力和精力,其他的语言暂时没有支持计划,欢迎有其他语言特长(例如F#,VB.NET等)的朋友参与该项目。

Office 365 应用开发的 .NET Core 模板库的更多相关文章

  1. dotnetcore-officeaddin-toolbox : Office 365 Add-in开发人员的工具箱

    在上一篇文章(.NET Core开源行动:一键创建Excel Add-in) 中我给大家展示了一套为Office 365 Add-in开发人员准备的模板库,你可以通过 dotnet new excel ...

  2. Office 365也是.NET Core应用开发新战场

    最近有幸阅读了陈希章花了一年时间为国内开发者贡献的<Office 365 开发入门指南>. 虽然早期接触过SharePoint的开发,2007年之后就再也没有接触SharePoint的开发 ...

  3. 拥抱开源,Office 365开发迎来新时代

    前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...

  4. Office 365开发环境概览

    本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概 ...

  5. Office 365 机器人(Bot)开发入门

    作者:陈希章 发表于 2017年7月29日 前言 作为人工智能技术的一个主要的表现形式,这些年机器人(bot)的应用越来越广泛.不管是有实物的,还是纯软件的,现在的机器人技术应该说已经走入寻常百姓家了 ...

  6. [ Office 365 开发系列 ] 开发模式分析

    前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...

  7. Office 365开发概述及生态环境介绍(二)

    本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...

  8. Office 365 开发概览系列文章和教程

    Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...

  9. 《Office 365开发入门指南》上市说明和读者服务

    写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解 ...

随机推荐

  1. Redis——常见面试题

    一.memcached与redis的区别? 1.存储方式不同.memcached把数据全部存在内存之中,断电之后会挂掉,而redis虽然也用到了内存,但是会有部分数据存在硬盘中,保证数据持久性. 2. ...

  2. 第二周c语言PTA作业留

    6-1 计算两数的和与差(10 分) 本题要求实现一个计算输入的两数的和与差的简单函数. 函数接口定义: void sum_diff( float op1, float op2, float psum ...

  3. bzoj千题计划108:bzoj1018: [SHOI2008]堵塞的交通traffic

    http://www.lydsy.com/JudgeOnline/problem.php?id=1018 关键点在于只有两行 所以一个2*m矩形连通情况只有6种 编号即对应代码中的a数组 线段树维护 ...

  4. 再议Python协程——从yield到asyncio

    协程,英文名Coroutine.前面介绍Python的多线程,以及用多线程实现并发(参见这篇文章[浅析Python多线程]),今天介绍的协程也是常用的并发手段.本篇主要内容包含:协程的基本概念.协程库 ...

  5. 13-TypeScript单例模式

    在JavaScript中,要实现设计模式比较复杂.而在TypeScript中因为使用面向对象的思想编程,要实现设计模式的方式与后端语言C#.Java等非常类似. 单例模式是一种常用的设计模式,通常用于 ...

  6. 关于kali linux 2.0的vmware tools的安装问题

    在安装好kali linux 2.0 后,首先要做的就是添加源并更新系统,否则会出现软件定位问题. 在kali 2.0中,vmware tools已经不能使用了,官方放了一个工具下载安装就好. 添加源 ...

  7. JQ 上传文件(单个,多个,分片)

    最原始的方式: 前端代码: <div> <span>最原始的方式</span><br /> <span>条件1:必须是 post 方式< ...

  8. GIT入门笔记(16)- 分支创建和管理

    查看分支:git branch创建分支:git branch <name>切换分支:git checkout <name>创建+切换分支:git checkout -b < ...

  9. GIT入门笔记(12)- 删除文件、提交删除和恢复删除

    在Git中,删除也是一个修改操作,我们实战一下, 1.先添加add一个新文件test.txt到Git并且提交commit到本地版本库: $ git add test.txt$ git commit - ...

  10. 开发技巧(3-1)Eclipse查找关键字

    1.选择资源目录->选择search-file菜单 2.在弹出的对话框中, 输入要[搜索的字符串],选择[selected resources],点击[search]按钮 3.搜索结果