我可以从命令行运行.NET程序集中的代码吗?

我有一个.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并且可以调用它 – 比如在控制台应用程序中。