2017-02-12 33 views
10

我试图发布一个独立的应用程序,用.net-core制作,遵循https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index中的步骤。.net-core self contained问题发布

与代码库是https://github.com/fontanaricardo/httpecho

我执行命令:

$dotnet build -r debian.8-x64 
$dotnet publish -c Release -r debian.8-x64 
$docker build -t httpecho . 

启动容器:

$ docker run -p 5000:5000 httpecho 
Error: assembly specified in the dependencies manifest was not found -- package: 'Microsoft.AspNetCore.Hosting.Abstracti 
ons', version: '1.1.0', path: 'lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll' 

我做错了什么?

更新

打开文件httpecho.deps.json,在发布文件夹,引用不存在的文件夹。

"runtime": { 
     "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} 
    } 
+0

第一个错误说'Microsoft.AspNetCore.Http.Abstractions',第二个说'Microsoft.AspNetCore.Antiforgery'。这是什么? – natemcmaster

+0

@natemcmaster删除了更新2,因为它会导致混淆。 –

+1

'ubuntu.16.04-x64'和'netcoreapp1.0'框架的错误。 – FireAlkazar

回答

4

您的设备在使用自包含的发布时尝试使用正确的分发包(尝试在我的工作良好的版本中)。尝试修复包装

是否有Microsoft.AspNetCore.Http.Abstractions.dlldebian.8-x64\publish?如果不尝试手动添加(以及所有其他缺少的* .dll),然后尝试运行。如果它运行没有错误将是正确的分装包的问题

+0

感谢您的回答,'Microsoft.AspNetCore.Http.Abstractions.dll'在文件夹中。我尝试从docker映像'microsoft/dotnet:1.1.0-sdk-projectjson'执行发布,但错误仍然存​​在。文件'httpecho.deps.json'引用'lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll'。 –