DotNetCore跨平台~发布脚本PowerShell的设计

回到目录

这几天对PS情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很多,下面我们看一下将某个解决方案下的所有项目一次publish的过程,我们使用ps脚本来实现的。

# 作者:仓储大叔
# 功能:发布项目到指定的地方
Param([string] $rootPath)
$scriptPath = Split-Path $script:MyInvocation.MyCommand.PathWrite-Host "Current script directory is $scriptPath" -ForegroundColor Yellowif ([string]::IsNullOrEmpty($rootPath)) {$rootPath = "$scriptPath\.."
}
Write-Host "Root path used is $rootPath" -ForegroundColor Yellow$projectPaths = @{Path="$rootPath\src\LindCore.Manager";Prj="LindCore.Manager.csproj";Name="web"},@{Path="$rootPath\src\LindCore.Test";Prj="LindCore.Test.csproj";Name="console"}$projectPaths | foreach {$projectPath = $_.Path$projectFile = $_.Prj$name=$_.Name# $outPath = $_.Path + "\obj\publish"$outPath = "d:\publish\"+$name$projectPathAndFile = "$projectPath\$projectFile"Write-Host "Deleting old publish files in $outPath" -ForegroundColor Yellowremove-item -path $outPath -Force -Recurse -ErrorAction SilentlyContinueWrite-Host "Publishing $projectPath to $outPath" -ForegroundColor Yellowdotnet restore $projectPathAndFiledotnet build $projectPathdotnet publish $projectPath -o $outPath
}

注意:如果你只是把跨平台项目发到obj\publish文件夹的话,那wwwroot这些文件夹不会生成,而如果发到其它磁盘,将会生成这些静态的文件,这点要注意!

跨平台项目,需要在project.json里把运行时都加上,否则你的项目保能在当前平台运行

  "runtimes": {"win7-x64": {},"linux-x64": {},"osx-x64": {}},

感谢各位对.net core的支持!

回到目录

转载于:https://www.cnblogs.com/lori/p/6972651.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决: 'Cannot call `.is_valid()` as no `data=` keyword argument was ' AssertionError: Cannot call `

#注册 def add_person(request):p_name request.POST.get("p_name")p_password request.POST.get("p_password")person_data {"p_name": p_name,"p_password": p_password,}print(person_data)serializer PersonSerializer(person…

软件与程序

一、Java的起源 最初是为家用电器设计的,因为其特点适合于internet, 于是通过internet成为一种计算语言,一个平台,一个网络计算的架构。 二、Java平台分类 ①JavaSE适用于普通PC及笔记本电脑,为其他JAVA程序的开发和运…

Django使用n内置模块发送HTML格式的邮件

def send(request):# subject "小伙子很帅"# message "不禁夸啊"# send_mail(subject,message,"18332191389163.com",["18332191389163.com"])# return HttpResponse("ok")from django.core.mail import EmailMultiAltern…

EDM营销之如何使邮件列表更加有效

营销转化往往是营销人员专攻的必修课,大数据时代,只有真实有效的活跃用户数据,才能进一步促进转化。但仍然有想走捷径的企业会选择通过购买来获取用户数据,不仅数据质量不高,还会降低自身信誉等级。本次Focussend从购买…

spring用的很开心的标签(随时增加)

1Scheduled定时任务标签,cron用表达式,或者其他几种方式,方便不能说。使用再方法智商,不能设置范围域。 2PropertySource定义在整个class文件上,整个class中可以直接用表达式获取properties的内容。 3Value 定义在变量…

Flask-DebugToolbar的配置

该扩展为 Flask 应用程序添加了一个包含有用的调试信息的工具栏。 安装 简单地使用 pip 来安装: $ pip install flask-debugtoolbar用法 设置调试工具栏是简单的: from flask import Flask from flask_debugtoolbar import DebugToolbarExtensionapp Flask(__name__)# the…

微信第三方登录

微信第三方登录: 公众平台以access_token为接口调用凭据,来调用接口,所有接口的调用需要先获取access_token; 网页授权获取用户基本信息:通过该接口,可以获取用户的基本信息(获取用户的OpenID是…

MVC 中Simditor上传本地图片

1.引用样式和js文件 <link href"~/Content/scripts/plugins/simditor/css/simditor.css" rel"stylesheet" /><script src"~/Content/scripts/plugins/simditor/js/simditor.js"></script> 2.初始化Simditor var editor null;…

在pycharm中自定义模板代码,快速输出固定代码块

pycharm中有时会经常输出固定一段代码,为避免每次重复输入,可以自定义一段模板代码,请看以下图教程: 1. 点击 file 里面的 setting 2. 在搜索框输入live,就会显示出Live Templates, 点击后边的加号, 点击 Live Template 3. 选择设置的语言, 点击下图的Define, 设置要设置…

优质手机APP开发公司的特点

最近自媒体平台封号特严重&#xff0c;获得上亿投资的大号都被封了&#xff0c;或许做自己的APP会是一个好选择。想在众多的app中脱颖而出、希望手机APP获得成功&#xff0c;则必须聘请专业手机APP开发公司。您必须明智地选择公司&#xff0c;因为您的业务的成败取决于您的选择…

Django中的认证与权限 源码剖析

rest_framework/request.py中部分认证和权限代码 def _authenticate(self):"""Attempt to authenticate the request using each authentication instancein turn."""for authenticator in self.authenticators:try:user_auth_tuple authentica…

IQueryable和IEnumerable区别

IQueryable 和IEnumerable总结 1&#xff0c;IEnumerable<T> result (from t in context.Table order by t.Id select c).AsEnumerable().Take(3) 如果返回的是IEnumerable<T>类型的是预先把数据都加载在内存中在取出前三条数据 2&#xff0c;IQueryable<T&g…

xz压缩和解压缩

xz和gzip&#xff0c; bzip2用法是一样的。默认系统是没有安装这个压缩工具的&#xff0c;安装命令为&#xff1a;yum install -y xz语法&#xff1a;xz [-dz] filename-d&#xff1a;解压缩-z&#xff1a;压缩压缩时&#xff0c;可以加“-z”也可以不加&#xff0c;都可以压缩…

celery 学习笔记定时任务和异步任务

1、Celery加入异步和定时任务 Celery除了可以异步执行任务之外&#xff0c;还可以定时执行任务。在实例代码的基础上写个测试方法&#xff1a; import datetime import timefrom celery import shared_task from celery.schedules import crontab from celery.task import pe…

FBV(function base views) 顾名思义基于函数的视图类 CBV(class base views)基于类的视图类

一. 概念 FBV&#xff08;function base views&#xff09; 顾名思义基于函数的视图类 CBV&#xff08;class base views&#xff09;基于类的视图类 至于区别呢? 我觉得只是写法上的不一样, 实现的结果都是一样的, 我比较喜欢用CBV模式, 因为在Django中内部帮我做了请求方式…

rpm查询

rpm -q 的用法&#xff1a;1、 rpm -qa 可以查看所有已经安装过的rpm包2、rpm -qf 文件名绝对路径&#xff0c;可以查看该文件由哪个包安装的3、 rpm -ql 包名&#xff0c;可以查看该包安装哪些文件4、 rpm -qi 包名&#xff0c;可以查看该包的详细信息查询一个包是否安装命令&…

IntelliJ idea学习资源

工作需要, 最近得从Eclipse转战到Idea, 找了些不错的学习资料: 1, 从eclipse上迁移过来的用户说明: https://www.jetbrains.com/help/idea/2016.3/eclipse.html 2, 极客学院的idea使用入门教程: http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/project-compositi…

linux下的安装:openssl

openssl简介 openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有&#xff1a;SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OC…

使用WinIO库实现保护模式下的IO和内存读写

问题已解决&#xff1a; 原因是函数的调用方式与WinIO中不一致&#xff0c;使用的时候漏掉了__stdcall。 函数原定义为&#xff1a; 在实际的GPIO读写中遇到以下问题&#xff1a; SetPortVal可正常写入&#xff0c;但是GetPortVal无法读取&#xff0c;程序崩溃&#xff0c;问题…

php 一些个 常用 函数

urlencode()函数原理就是首先把中文字符转换为十六进制&#xff0c;然后在每个字符前面加一个标识符%。urldecode()函数与urlencode()函数原理相反&#xff0c;用于解码已编码的 URL 字符串&#xff0c;其原理就是把十六进制字符串转换为中文字符json_decode(json,true); 输出的…