初识powershell、nuget powershell 调试

补充

  • 此文仅当做powershell的初步认识体验,关于nuget包里此脚本的使用官方已在vs2017停止支持,请看此文文末

前言

老早就听说powershell很牛逼,但是没真正用过,这两天刚好用到,顺便写一下有关的,可能以后用得到的东西。本来想记一下这次使用过程中用到的一些操作的,就是这么巧,发现了个很不错的教程网站,于是我就可以偷懒了,哈哈。

相关资料

在nuget安装包的时候进行powershell调试

调试相关

  • 在项目需要用到nuget包NuGetDebugTools
  • 按照github上教程操作
    • 程序包管理器控制台输入相关命令,在安装需要调试的nuget包的时候就会弹出一个输入框和powershell控制台,输入框内输入命令可进行调试操作,还可以输入变量或者表达式以便在powershell控制台观察结果
    • 添加调试器
      Add-Debugger

      或者

      Add-Debugger -ReadHost
    • 设置需要调试的脚本名
      Set-PSBreakpoint -Command init.ps1, install.ps1, uninstall.ps1
    • 新建项目,安装要调试的nuget包,当命中上一步设置断点脚本时,调试输入框就会出现,执行?就会出现一堆操作提示
      s, StepInto  Step to the next statement into functions, scripts, etc.
      v, StepOver Step to the next statement over functions, scripts, etc.
      o, StepOut Step out of the current function, script, etc.
      c, Continue Continue operation (also on empty input).
      q, Quit Stop operation and exit the debugger.
      ?, h Write this help message.
      k Write call stack (Get-PSCallStack).
      K Write detailed call stack using Format-List. <n> Write debug location in context of <n> lines.
      +<n> Set location context preference to <n> lines.
      k <s> <n> Write source at stack <s> in context of <n> lines. w Restart watching the debugger output file.
      r Write last PowerShell commands invoked on debugging.
      <command> Invoke any PowerShell <command> and write its output.
    • 关于调试nuget包中ps1脚本的讨论
  • 注意
    • nuget包好像分全局安装和在项目里面局部安装,没试过不知道,猜的
    • 打开vs之后调出nuget包管理器控制台安装的方式应该算全局安装,然后在各个项目里面安装包都可以调试
    • 我是在项目里面安装的NuGetDebugTools,也一样能用

编写nuget包ps1脚本可能用到的东东

总结

  • 由于完全没用过,什么姿势都不会,要干嘛完全是问度娘的,资料多还好,不多的时候找不到能用的就无计可施了,找不到组织真的有点盲目。所以学习新的东西要先花点时间找下给力的文档或者教程(什么叫给力?官方的文档不给力吗?嘿嘿,我只想说你们开心就好)。可以是官方文档、官方社区、第三方社区或论坛、还有国外的(英文关键字搜索)。
  • 最便捷的方法是找身边相关领域的大牛,有大牛你还找什么教程啊,走起!
  • 无论是什么,基本上都有它的套路,摸清楚了套路学的就快了。比如powershell脚本的,执行环境-执行入口-数据类型-变量声明和使用-基本操作-执行结束。再复杂点还有各种生命周期事件,变量作用域等等,快速上手使用基本不用管这么多,只要能哐哐哐跑起来,管它三七二十一。

初识powershell、nuget powershell 调试的更多相关文章

  1. 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件

    原文:数据库管理--Powershell--使用Powershell脚本找出消耗最多磁盘空间的文件 原文译自: http://www.mssqltips.com/sqlservertip/2774/p ...

  2. PowerShell 命令行调试指引(转)

    How to manage a debugging session Before you start debugging, you must set one or more breakpoints. ...

  3. Azure PowerShell (1) PowerShell入门

    <Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...

  4. Azure PowerShell (1) PowerShell整理

    <Windows Azure Platform 系列文章目录> 把之前Azure ASM的PowerShell都整理好了. https://github.com/leizhang1984/ ...

  5. NuGet包调试源码的方法

    如果按照nuget官网给出的网址:https://docs.nuget.org/create/creating-and-publishing-a-symbol-package 那么你会发觉下载符号包的 ...

  6. [PowerShell] check PowerShell Version

    如果你已经开始在日常的工作中大量使用PowerShell自动化重复工作.建议你使用3.0以上的版本. 可以使用如下命令检测你的PS版本 如需要安装PowerShell,可以参看https://tech ...

  7. [2016-07-15]nuget包管理器控制台下的powershell脚本介绍

    博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...

  8. Powershell学习笔记:(一)、初识Powershell

    什么是Powershell? MSDN上的说明是:PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言. PowerShell 可帮助系统管理员和高级用户快速自动执行用 ...

  9. PowerShell_零基础自学课程_1_初识PowerShell

    欢迎转载本系列文章:转载请注明出处:www.cnblogs.com/volcanol 自从微软推出.Net以来,微软旗下的windows体系就发生了很大的变化,首先是操作系统的界面的变化,例如vist ...

随机推荐

  1. 图解Java常用数据结构(一)【转载】

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  2. 求2的n次方对1e9+7的模,n大约为10的100000次方(费马小定理)

    昨天做了一个题,简化题意后就是求2的n次方对1e9+7的模,其中1<=n<=10100000.这个就算用快速幂加大数也会超时,查了之后才知道这类题是对费马小定理的考察. 费马小定理:假如p ...

  3. hdoj1251-统计难题 【字典树】

    http://acm.hdu.edu.cn/showproblem.php?pid=1251 统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory ...

  4. 50. Pow(x, n) (INT; Divide-and-Conquer)

    Implement pow(x, n). 思路:二分法,将每次相乘,转化成平方. class Solution { public: double myPow(double x, int n) { ) ...

  5. centos自定义安装pip3

    题记 在之前的文章centos云服务器安装Python3记录 记录了怎么自定义安装 Python3 ,在后边测试pip3的时候发现了个问题: pip --version terminal 打印: pi ...

  6. OC 线程操作 - GCD使用 -同步函数,异步函数,串行队列,并发队列

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ // GCD 开几条线程并不是我们 ...

  7. ADF学习实用网站

    ADF中所有组件工功能例子 http://jdevadf.oracle.com/adf-richclient-demo/faces/components/dialog.jspx;jsessionid= ...

  8. 使用springmvc从页面中获取数据,然后根据获得的参数信息进行修改,如果修改的数据中含有不是基本数据类型的参数。比如传的参数中有Date类型的数据时,需要我们进行参数类型转换。

    1.1 需求 在商品修改页面可以修改商品的生产日期,并且根据业务需求自定义日期格式. 1.2 需求分析 由于日期数据有很多格式,所以springmvc没办法把字符串转换成日期类型.所以需要自定义参数绑 ...

  9. 【SQL模板】二.创建表视图模板TSQL

    ---Name: 创建表视图模板.sql ---Purpose: 用于创建 数据库中 新的数据表/视图 ---Author: xx ---Time: 2015-12-18 10:26:06 ---Re ...

  10. Golang之并发篇

    进程和线程 A.进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位. B.线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. C.一 ...