【问题标题】:Hosting console application in public service fabric cluster在公共服务结构集群中托管控制台应用程序
【发布时间】:2016-06-05 07:37:13
【问题描述】:

我正在尝试将控制台应用程序部署到服务结构。我能够在本地服务结构集群中成功部署和运行应用程序。但是当我尝试使用公共服务结构集群时,我在服务结构资源管理器中看到以下警告并且应用程序没有运行。

不健康事件:SourceId='System.Hosting', Property='CodePackageActivation:C:EntryPoint', HealthState='Warning', 考虑WarningAsError=false。CodePackage 期间出现错误 激活。服务主机以退出代码终止:3762504530

【问题讨论】:

  • 它是基于 .NET 的控制台应用程序吗?
  • 是的,它是一个 .Net 控制台应用程序
  • 基本上它告诉你它无法启动。我们看到的常见原因基本上是包中缺少程序集。可能是您有一个未复制到输出的引用,因此未包含在包中?
  • 有没有办法检查所有的dll是否都被正确复制了?我的意思是在本地集群中,我们可以去检查位置 C:\SfDevCluster\Data_App。但是对于公共集群,我们将如何检查?我们如何在虚拟机规模集下连接到单个 VM?

标签: azure-service-fabric


【解决方案1】:

对于在本地运行但不在 Azure 中运行的代码,最常见的解释是,您的目标是 .NET 框架版本,该版本不存在于 Service Fabric 群集中预配的 VM 上。他们目前提供开箱即用的 .NET 4.5.1,本月某个时候会添加 .NET 4.5.2。尝试将您的应用重定向到 4.5.1。

更新:自 2016 年 2 月起,为 Service Fabric 群集预配的 VM 默认随附 .NET 4.5.2。

【讨论】:

  • 感谢您提供的信息。但我的应用程序是在 .Net framework 4 中创建的。
  • @Sean 有没有办法在 Service Fabric 群集中运行 .NET 4.6 应用程序?
  • 是的,但是您负责将 .NET 4.6 安装到 VM 上,因为它没有预装在 Server 2012 映像上。大多数人都使用自定义 VM 扩展来执行此操作。
  • 我想知道为什么它不是默认模板的一部分? .NET 4.6 并不是什么新鲜事物。
  • 这不是关于模板,而是关于在 Azure 中组成集群的 VM。它们非常接近基本 Windows 映像,因此它们没有预装更高版本的 .NET。
猜你喜欢
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
相关资源
最近更新 更多