我有一个ASP.NET Core 3.0 Web应用程序(用于设置SignalR服务器),我想从.net Core控制台应用程序开始。但是,每当我将ASP.NET应用程序的输出类型设置为“控制台应用程序”并从简单的测试.net核心应用程序引用它时,在构建时都会出现以下错误:
Error: Program does not contain a static 'Main' method suitable for an entry point.
它还抱怨找不到Web应用程序的.dll文件,但是我想那是由于其他构建错误。 每当我将ASP.NET core 3.0 Web应用程序输出类型设置为“类库”时,一切都构建良好。仅当我尝试从控制台应用程序启动Web应用程序时,它才部分启动。我可以清楚地看到正在添加SignalR服务和端点,但是当我尝试将客户端连接到SignalR服务器时,这是不可能的。我想念什么?为什么我不能从.net核心控制台应用程序启动asp.net核心Web应用程序?
请注意:当我从Web应用程序本身的主要功能(使用与控制台应用程序中使用的相同代码)启动Web应用程序时,一切正常。
答案 0 :(得分:1)
您不能只是参考项目。它不会执行任何操作,因为它实际上需要运行。您需要发布和部署ASP.NET Core应用,然后从控制台应用通过HTTP访问它。
答案 1 :(得分:0)
通常,您不应该从控制台应用程序启动Web应用程序。您应该使用Host and deploy ASP.NET Core中的选项进行部署。
出于测试目的,您可以按照以下步骤操作:
在Console App中将以下代码添加到Program.cs
CoreAPI.Program.Main(args);
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start .net core");
CoreAPI.Program.Main(args);
}
}
}