我找不到任何解释--由于某种原因,我的.NET Core 2.0 ASP.NET应用程序无法通过以下方式作为DLL运行:
dotnet MyProject.Web.dll
相反,我会收到异常:
Unhandled Exception: System.MissingMethodException:程序集'MyProject.Web,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中未找到入口点。
namespace MyProject.Web
{
public class Program
{
public static void Main(string[] args)
{
LoadDependencies();
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
private static void LoadDependencies()
{
DependencyLocator.Instance.DefineIfUndefined<IDataProvider, DataProvider>();
}
}
}
独立可执行文件(在项目配置中针对“控制台应用程序”时)可以正常运行,但现在我正在尝试部署到需要通过dotnet命令运行的服务器上(作为DLL,即“dotnet .\MyProject.Web.dll”),它似乎出现了问题。我在我的服务器和本地开发环境上都遇到了上述异常。
我很震惊它找不到Main方法——它声明为静态,在Program.cs中。我有什么遗漏吗?
(编辑:为了澄清,我尝试针对“控制台库”编译的目标运行DLL,因为我的服务器明确要求使用DLL,而不是可执行文件)。