原文:C# powshell 调用

本文告诉大家如何在 ps 脚本使用 C# 代码。

首先创建一个 C# 的控制台项目,注意修改输出为类库。

现在的 Powershell 还不支持 dotnet core 的库,所以只能创建一个 dotnet framework 的项目。

因为 Powershell 不支持 exe 所以只能输出为类库

先创建一个类 TrallrahurmuSorhardu 这里有两个方法

    public class TrallrahurmuSorhardu
{
public static void FutrowxeBemelvamere()
{
Console.WriteLine("DirqisfouDrehorearsem");
} public void ViwhawSterenekooSirberheeFarzere()
{
Console.WriteLine("LirniWaiqeroroo");
}
}

上面创建的项目是 MerRear ,项目就是准备调用刚才写的两个方法

在输出的文件夹创建一个 MaKutownene.ps1 文件,实际上文件的名是随意的,只要后缀是 ps1 就可以。

为什么是需要在输出的文件夹,因为刚才的代码就创建了 MerRear.dll ,为了简单调用 MerRear.dll 这个库,就把创建的文件写在相同的文件夹。

在 MaKutownene.ps1 使用代码调用 C# 的库很简单,首先引用 dll ,使用 Add-Type –Path 就可以输入 dll 的文件路径

Add-Type –Path "MerRear.dll"

下面来告诉大家如何在 Powershell 创建 C# 类

Powershell 创建 C# 类

可以使用下面代码创建 C# 类,因为 Powershell 脚本的写法和 C# 还是存在一些不同

$obj = New-Object MerRear.TrallrahurmuSorhardu

在 Powershell 使用变量之前是不需要定义,现在就已经创建了类

调用类的 ViwhawSterenekooSirberheeFarzere 方法可以使用下面代码

$obj.ViwhawSterenekooSirberheeFarzere()

Powershell 调用 C# 静态方法

在 C# 使用静态方法是不需要创建类,所以在 Powershell 就需要使用下面代码调用

[MerRear.TrallrahurmuSorhardu]::FutrowxeBemelvamere()

调用静态方法的方式是使用 [命名空间.类]::静态方法() 调用

下面就是全部的 Powershell 代码

Add-Type –Path "MerRear.dll"

$obj = New-Object MerRear.TrallrahurmuSorhardu

$obj.ViwhawSterenekooSirberheeFarzere()

[MerRear.TrallrahurmuSorhardu]::FutrowxeBemelvamere()

这里的 C# 代码是

using System;

namespace MerRear
{
public class TrallrahurmuSorhardu
{
public static void FutrowxeBemelvamere()
{
Console.WriteLine("DirqisfouDrehorearsem");
} public void ViwhawSterenekooSirberheeFarzere()
{
Console.WriteLine("LirniWaiqeroroo");
}
}
}

注意运行 Powershell 脚本需要先添加策略,使用管理员权限运行下面代码

Set-ExecutionPolicy RemoteSigned

修改执行策略会带来安全隐患,如果不是开发者就不要使用

参见:

PowerShell入门(八):函数、脚本、作用域 - Luke Zhang - 博客园


本文会经常更新,请阅读原文:
https://lindexi.gitee.io/lindexi/post/C-powshell-%E8%B0%83%E7%94%A8.html
,以避免陈旧错误知识的误导,同时有更好的阅读体验。


本作品采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:
https://lindexi.gitee.io
),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请
与我联系
。

C# powshell 调用的更多相关文章

  1. 2018-8-27-C#-powshell-调用

    title author date CreateTime categories C# powshell 调用 lindexi 2018-8-27 16:20:4 +0800 2018-06-18 20 ...

  2. 黑马毕向东Java基础知识总结

    Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...

  3. 《果壳中的C# C# 5.0 权威指南》 - 学习笔记

    <果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari ...

  4. PYTHON调用C接口(基于Ctypes)实现stein算法最大公约数的计算

    相关环境配置 mingw,选择相应的32位.64位的版本,主要用于编译动态链接库dll文件,可用vs替代,这里我选择轻量级的mingw windows64位地址:https://sourceforge ...

  5. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  6. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  7. 操作系统篇-调用门与特权级(CPL、DPL和RPL)

    || 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.前言 在前两篇文章(<操作系统篇-浅谈实模式与保护模式>和<操作系统篇-分段机制与GDT|LDT>)中,我们提到 ...

  8. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  9. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

随机推荐

  1. Flask项目之手机端租房网站的实战开发(二)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...

  2. windows版 nginx配置反向代理实例教程 跳转tomcat和php网站

    抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...

  3. async和await在项目中的应用

    Async基础知识: async函数是ES7标准引入的语法,基于Generator函数实现的,也就是说是Generator函数的语法糖.什么是Generator函数?(留个坑) 返回值是Promise ...

  4. radare, the reverse engineering framework

    History The radare project [http://radare.org/] started in February of 2006 aiming to provide a free ...

  5. RabbitMQ安全相关的网络资源介绍

    无法用guest远程訪问RabbitMQ的的解决方式 Can't access RabbitMQ web management interface after fresh install http:/ ...

  6. [Angular2 Form] Check password match

    Learn how to create a custom validator to check whether passwords match. <h1>password match< ...

  7. Mongodb in Mycat指南

    1       前言 Mycat目前支持JDBC连接后端数据库,理论上支持任何数据库,如ORACLE.DB2.SQL Server等,是将其模拟为MySQL,所以对其他数据库只支持标准的SQL语句,而 ...

  8. libevent源码分析-介绍、安装、使用

    Libevent介绍 安装 样例 Libevent介绍 在include\event2\event.h中有关于Libevent的介绍,这里简单翻译介绍一下: Libevent是以事件为驱动的开发可扩展 ...

  9. PatentTips - Fast awake from low power mode

    BACKGROUND Electronic devices, such as electronic book readers ("eBook reader devices"), c ...

  10. 小强的HTML5移动开发之路(43)——JqueryMobile页眉、工具栏和标签栏导航

    一.页眉 1.添加页眉和页脚 <div data-role="header"> <h1>第 1 页</h1> </div> < ...