原文: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. 【Codeforces Round #301 (Div. 2) B】 School Marks

    [链接] 我是链接,点我呀:) [题意] 已知k门成绩. 总共有n门成绩. 让你构造剩下的n-k门成绩,使得这n门成绩的中位数>=y,并且这n门成绩的和要小于等于x. n为奇数 [题解] 首先判 ...

  2. 关于mysql事务行锁for update实现写锁的功能

    关于mysql事务行锁for update实现写锁的功能 读后感:用切面编程的理论来讲,数据库的锁对于业务来说是透明的.spring的事务管理代码,业务逻辑代码,表锁,应该是三个不同的设计层面. 在电 ...

  3. TTS-零基础入门之语音模板化

    上篇介绍了TTS的一个简单样例http://blog.csdn.net/u010176014/article/details/47326413 本篇咱们进一步聊聊 语音怎样读模板. 比方 公交车上的模 ...

  4. 每日技术总结:promise,express route,评分,local storage商品浏览历史,

    最近正在用Vue做一个电商项目.利用工作前后空隙时间. 1.promise的使用 点这里 如何在实际项目中使用Promise 2. Express Route 前后端传参的两种方法 (1)req.pa ...

  5. [Angular2 Router] Auxiliary Routes bit by bit

    Article Github Auxiliary Routes is is little bit hard to understand. Here is demo, link You can see ...

  6. PatentTips - Data Plane Packet Processing Tool Chain

    BACKGROUND The present disclosure relates generally to systems and methods for providing a data plan ...

  7. PJSIP开源库详解

    PJSIP是一个包含了SIP.SDP.RTP.RTCP.STUN.ICE等协议实现的开源库.它把基于信令协议SIP的多媒体框架和NAT穿透功能整合成高层次.抽象的多媒体通信API,这套API能够很容易 ...

  8. 【35.02%】【codeforces 734A】Vladik and flights

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. 【u117】队列安排

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1. 先将1号同学安排 ...

  10. Android 各个版本号WebView

    转载请注明出处   http://blog.csdn.net/typename/ powered by miechal zhao : miechalzhao@gmail.com 前言: 依据Googl ...