Можно ли запустить код из сборки .NET из командной строки? - PullRequest
7 голосов
/ 25 июля 2011

У меня есть библиотека классов .NET (в виде файла .dll), и эта библиотека содержит класс со статическим методом. Есть ли способ вызвать этот метод из командной строки?

Ответы [ 3 ]

14 голосов
/ 25 июля 2011

Здесь - руководство по загрузке DLL из Powershell и вызову в ней методов.

Наиболее важной частью поста являются следующие команды:

[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
6 голосов
/ 25 июля 2011

Посмотрите здесь, может быть?

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

2 голосов
/ 25 июля 2011

Да, но у вас должна быть программа с методом Main(), которая ссылается на этот .dll и может вызывать его - скажем, в консольном приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...