我有一個.NET類庫(作爲一個.dll文件),該庫包含一個靜態方法的類。有沒有辦法從命令行調用該方法?我可以通過命令行從.NET程序集運行代碼嗎?
5
A
回答
10
Here是如何從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
+2
比我的鏈接更好。 =) –
5
看看這裏,也許?
而且你可以加載使用
[Reflection.Assembly]::LoadFile(「c:\mysource\mylib.dll」)
如果您無法或不願使用PowerShell,你需要一個控制檯應用程序包調用您的靜態方法自己組裝,如davecoulter's answer
2
是的 - 但您必須擁有一個程序,其中引用該.dll並可以調用它的Main()
方法 - 比如說在控制檯應用程序中。
相關問題
- 1. 製作實用程序以通過命令運行C#代碼
- 2. 可以通過命令行工具應用rosyln代碼修復程序嗎?
- 3. 我可以運行JUnit 4從命令行測試Scala代碼嗎?
- 4. 我可以從命令行運行Eclipse C++格式化程序
- 5. 我可以從命令行運行指定的Maven執行嗎?
- 6. SDL程序本身可以運行,但不能通過命令行運行
- 7. 我們可以通過命令行從flash導出到createjs嗎?
- 8. 我可以在android應用程序中運行jdk命令嗎?
- 9. .NET 2.0程序集可以在.NET 4.0下運行嗎?
- 10. 通過命令行以編程方式運行程序
- 11. 這是可能通過命令提示符從C#運行python代碼嗎?
- 12. 我可以從.NET運行DBCC CHECKDB嗎?
- 13. 通過C程序運行BASH命令
- 14. 是否可以從命令行運行PyDev代碼分析?
- 15. 我可以從命令行運行sailsjs控制器方法嗎?
- 16. Selenium IDE 2.9.1 - 我可以從命令行運行測試嗎?
- 17. 我可以從命令行運行任意CMake函數嗎?
- 18. Java程序運行時可以再次使用命令行嗎?
- 19. 運行命令行代碼
- 20. 我可以使用hadoop jar命令來運行普通的java程序嗎?
- 21. Java從命令行運行的代碼
- 22. 可以通過paramiko的exec_command在後臺運行命令嗎?
- 23. 通過命令行從java運行一個c/C++程序
- 24. 我可以通過node.js運行一個scala應用程序嗎?
- 25. 我可以通過ssh交互式運行程序嗎?
- 26. 無法使用Net :: OpenSSH進行SSH,可以通過命令行
- 27. 我可以在Windows命令行的後臺運行GUI程序嗎?
- 28. 在批處理過程中可以運行java命令嗎?
- 29. 我們可以通過純java代碼從java運行flash文件嗎?
- 30. 通過應用程序運行代碼
你的意思,你要使用命令行靜態函數爲命令 – Devjosh
@Devjosh:是的,我想創建一個.cmd包含'magicallyCall MyAssembly.MyClass.DoStuff()'或類似的東西的文件。 – sharptooth