【问题标题】:Unable to run dotnet core 2 console app in Windows Server 2008 R2无法在 Windows Server 2008 R2 中运行 dotnet core 2 控制台应用程序
【发布时间】:2018-10-17 17:47:29
【问题描述】:

我正在使用 TopShelf 并在 dotnet core 2 框架下开发 Windows 服务应用程序。为了创建它,我使用了控制台应用程序(.NET 核心)模板。现在,为了部署应用程序,我创建了一个发布配置文件以在本地进行。这是内容:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <PropertyGroup>
  <PublishProtocol>FileSystem</PublishProtocol>
  <Configuration>Release</Configuration>
  <TargetFramework>netcoreapp2.0</TargetFramework>
  <PublishDir>C:\Repos\Deployments\MassTransit.Consumer</PublishDir>
  <Platform>Any CPU</Platform>
  <SelfContained>true</SelfContained>
  <_IsPortable>true</_IsPortable>
  <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
</PropertyGroup>

如您所见,RuntineIdentifier 是 win7-x64,根据documentation,这应该是在 Windows server 2008 R2 中运行应用程序的正确标识符。当我将应用程序部署到本地文件夹时,我可以在执行生成的 .exe 的机器上运行它而不会出现问题,但是当我尝试在 Windows Server 2008 R2 中运行它时,复制 Windows 服务器中本地文件夹的所有文件,我收到 badimageformatexception bad il 格式错误

在windows服务器中安装Dotnetcore.2.0.5-WindowsHostingDotnet-sdk-2.1.105-win64

仅供参考,我在此服务器的 IIS 下运行了一个 web api core 2 应用程序,如果我在 cmd.exe 中运行 dotnet --version 它会返回 2.1.0.105,因此它可以识别dotnet 核心已安装

任何线索为什么控制台应用程序当时让我在 Windows Server 2008 R2 中运行它时出现该错误。我需要安装其他东西吗?或者,我是否需要更改我的发布配置文件中的某些内容?

更新

我很确定异常发生在Load.From 旁边的黄线上:

我正在使用该代码加载具有 Autofac 模块的自定义库,我需要在应用启动时注册。

【问题讨论】:

  • 您确定拥有在服务器上运行应用程序所需的所有 dll 吗?
  • 是的,我复制了发布项目时生成的所有文件,它在我的本地计算机上运行。我还使用了dotnet publish 命令,结果相同。我运行的命令是dotnet publish -c Release -r win7-x64。当我缺少 dll 时,控制台让我知道我需要添加什么文件,而是给出指出的错误。您过去是否在 Windows Server 2008 R2 中运行过控制台 dotnet core 2 控制台应用程序?
  • 对于 Windows 7 和 Server 2008 R2,文档中应该列出了其他依赖项。
  • 嗨@LexLi,我已经用新信息更新了这个问题,你知道可能是什么吗?

标签: .net-core windows-services autofac windows-server-2008-r2 topshelf


【解决方案1】:

这不是服务器的问题。这是因为我试图匹配的模式包含在文件名中,这是一个路径,所以它加载了错误的程序集,如 hostfrx.dllhostpolicy.dll

它在本地运行,因为一旦我部署项目,这个程序集就会显示出来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2018-02-09
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多