簡體   English   中英

我可以從命令行運行.NET程序集中的代碼嗎?

[英]Can I run code from a .NET assembly from a command line?

我有一個.NET類庫(作為.dll文件),該庫包含一個帶有靜態方法的類。 有沒有辦法從命令行調用該方法?

以下是如何從Powershell加載dll並在其中調用方法的指南。

這篇文章中最重要的部分是這些命令:

[C:\temp]
PS:25 > notepad MyMathLib.cs

(…)

[C:\temp]
PS:26 > csc /target:library MyMathLib.cs
Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.


[C:\temp]
PS:27 > [Reflection.Assembly]::LoadFile(“c:\temp\MyMathLib.dll”)

GAC    Version        Location
—    ——-        ——–
False  v2.0.50727     c:\temp\MyMathLib.dll



[C:\temp]
PS:28 > [MyMathLib.Methods]::Sum(10, 2)
12

[C:\temp]
PS:29 > $mathInstance = new-object MyMathLib.Methods
Suggestion: An alias for New-Object is new

[C:\temp]
PS:30 > $mathInstance.Product(10, 2)
20

看看這里,也許吧?

http://blog.usepowershell.com/2009/03/exploring-the-net-framework-with-powershell-static-members-part-4/

您可以使用加載自己的程序集

[Reflection.Assembly]::LoadFile(“c:\mysource\mylib.dll”)

如果您不能或不願意使用Powershell,您需要使用控制台應用程序包含靜態方法的調用,如davecoulter的回答中所述

是的 - 但你必須有一個帶有Main()方法的程序,該方法引用.dll並且可以調用它 - 比如在控制台應用程序中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM