嗨,任何人都可以帮忙,我正在尝试让 Service Fabric 托管一个 .Net Core Web API Restful 服务作为来宾可执行文件。
我可能错误地猜测,一旦我完成了完整的发布,我应该能够运行 exe,但是当我这样做时它会失败。
我做了以下...
- 确保主 Web API 程序集和所有引用的 .NET Core 程序集设置为 x64 目标
将输出类型设置为 exe 并具有如下所示的 program.cs...
public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseApplicationInsights() .Build(); host.Run(); }
完成命令行的东西......
dotnet restore dotnet publish -c release -r win10-x64
在生成的 win10-x64 发布文件夹中的 Project.deps.json 中引用了“Microsoft.AspNetCore.Server.Kestrel”:“1.0.0”。
但是,当我直接执行该操作时,控制台窗口会报告 StartUp Constructor 的问题,即执行 builder.build 时。
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
//.AddServiceFabricConfig("Config") // Add Service Fabric configuration settings.
.AddEnvironmentVariables();
Configuration = builder.Build();
}
我感觉接近让这些东西正常工作,并添加了一个 Service Fabric 来宾主机项目来托管 exe,但不用说节点失败并出现如下所示的错误......
Error event: SourceId='System.Hosting', Property='CodePackageActivation:Code:EntryPoint'.
CodePackage 激活过程中出错。服务主机以退出代码终止:2147516556
我究竟做错了什么?