DotNet Core控制台应用程序:在应用程序依赖项清单中指定的程序集

12

我正试图在Windows Server 2012 R2上运行一个DotNet Core控制台应用程序,但我一直遇到以下错误:

错误: 应用程序依赖项清单(Application.deps.json)中指定的程序集未找到: 包:'Microsoft.Web.Administration',版本:'11.1.0' 路径:'lib/netstandard1.5/Microsoft.Web.Administration.dll'

缺失的dll文件在/publish文件夹中... 我已使用正确的运行时标识符(win81-x64)进行了Dotnet发布。

我已在服务器上安装了Dotnet运行时2.0.7。


你复制了哪个输出到目标服务器? - Martin Ullrich
所以我运行了 dotnet publish -c Release -r win81-x64 命令,并将所有输出复制到 \bin\Release\netcoreapp2.0\win81-x64 目录下的服务器上。 - Vincent Rutten
2个回答

17

在部署到目标服务器时,始终使用发布输出。

可以在以下位置找到:

bin\Release\netcoreapp2.0\win81-x64\publish
在您的情况下(自包含应用程序),或者在
bin\Release\netcoreapp2.0\publish

适用于框架相关部署。

上面目录中的输出仅适用于开发,因为它们是根据特定机器和用户配置构建的。


1
刚遇到了类似的问题。具体来说: 应用程序依赖项清单(StatProcessing.deps.json)中指定的程序集未找到: 包:'Microsoft.AspNetCore.Http.Abstractions',版本:'1.1.2' 路径:'lib / netstandard1.3 / Microsoft.AspNetCore.Http.Abstractions.dll'我通过在我的开发系统上设置发布操作以生成Win10x-64构建来解决它。一旦我这样做了,然后部署到我的服务器上,它就开始工作了。谢谢@martin。 - Wallace B. McClure

1
我遇到了这个问题,因为我部署了错误的发布文件夹。
我决定花时间设置一个“发布配置文件”。 在解决方案资源管理器中...右键单击 项目 -> 发布 或者从菜单栏中选择 构建->发布 .NET Core应用程序发布概述 使用发布配置文件,您可以将目标位置设置为简单的某个地方。
drive:\Publish\[project]

这将使您免于导航10个级别并可能复制错误文件夹的困扰。

使用Visual Studio部署.NET Core应用程序


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接