我正在制作一个运行游戏服务器的控制台窗口,我想为各种事情添加命令。由于命令需要参数,我决定使用 ManyConsole nuGet。
我制作了一个测试项目,并将构建的 .dll 添加到我的服务器的引用列表中,但我很难弄清楚如何将输入发送到文本项目 .dll。
我以前从未使用过 PowerShell 来启动应用程序,但我能够毫无问题地在其上运行 ServerCommands 项目,这让我想到也许我应该构建整个服务器以通过 PowerShell 运行,反正整个事情都是静态的。
服务器命令.dll
public class Program
{
public static int Main( string[] args )
{
var commands = GetCommands();
return ConsoleCommandDispatcher.DispatchCommand( commands, args, Console.Out );
}
public static IEnumerable<ConsoleCommand> GetCommands()
{
return ConsoleCommandDispatcher.FindCommandsInSameAssemblyAs( typeof( Program ) );
}
}
服务器
internal class Program
{
private static void Main( string[] args )
{
string[] t = new string[1] { "test" };
ServerCommands.Program.Main( t );
}
}
返回错误:System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.'