概述

前不久我写过一篇文章拥抱开源,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. python全栈学习--day2

    一.in的使用 说明:in有相当多的用处,比如判断,循环for 等. 实例一:in 操作符用于判断关键字是否存在于变量中 s = '男人john' print('男孩' in s) print('男孩 ...

  2. Java基础学习笔记十一 Eclipse开发工具

    Eclipse是功能强大Java集成开发工具.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是Eclipse进行开发. Eclipse的下载.安装.卸载 下载 http:/ ...

  3. c语言程序设计第3周编程作业(数字特征)

    题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作x,如果x和n的奇偶性相 ...

  4. Leetcode 2——Range Sum Query - Mutable(树状数组实现)

    Problem: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), ...

  5. centos7下搭建sentry错误日志服务器

    1. docker 安装(方法一) 1.确保yum packages 是最新的 $ sudo yum update 2.添加yum repo $ sudo tee /etc/yum.repos.d/d ...

  6. LOW版统计词频

    import string path = 'waldnn' with open(path,'r') as text: words = [raw_word.strip(string.punctuatio ...

  7. linux下面的智能解压脚本smart解压

    file命令可以辨别出一个给定文件的文件类型,如:file lf.gz,其输出结果为: lf.gz: gzip compressed data, deflated, original filename ...

  8. LxmlLinkExtractor类参数解析

    LxmlLinkExtractor LxmlLinkExtractor 是一种强大的链接提取器,使用他能很方便的进行选项过滤,他是通过xml中强大的HTMLParser实现的 源代码如下: class ...

  9. SpringBoot应用的集成测试

    一.概念和定义 进行软件开发的时候,我们会写很多代码,不过,再过六个月(甚至一年以上)你知道自己的代码怎么运作么?通过测试(单元测试.集成测试.接口测试)可以保证系统的可维护性,当我们修改了某些代码时 ...

  10. Linux实战案例(5)关闭Centos的防火墙

    1.检查防火墙的状态 [root@LxfN1 ~]# service iptables status表格:filterChain INPUT (policy ACCEPT)num target pro ...