Col*_*ett 1 dll nuget travis-ci asp.net-core .net-standard
我正在尝试通过Travis CI将dotnet核心Web应用程序部署到Ubuntu VPS。我正在dotnet restore && dotnet publish -c release -r ubuntu.16.04-x64构建,然后才扩展到服务器。在Travis上构建和部署可以很好地完成,但是当我在服务器上重新启动应用程序服务时,会出现诸如以下错误。
Error: assembly specified in the dependencies manifest was not found -- package: 'microsoft.aspnetcore.antiforgery', version: '1.1.1', path: 'lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll'
*.deps.json作为发布的一部分而创建的文件具有以下几行。
"microsoft.aspnetcore.antiforgery/1.1.1": {
"dependencies": {
"Microsoft.AspNetCore.DataProtection": "1.1.1",
"Microsoft.AspNetCore.Http.Abstractions": "1.1.1",
"Microsoft.AspNetCore.Http.Extensions": "1.1.1",
"Microsoft.AspNetCore.WebUtilities": "1.1.1",
"Microsoft.Extensions.ObjectPool": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {}
}
},
"microsoft.aspnetcore.authorization/1.1.1": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "1.1.1",
"Microsoft.Extensions.Options": "1.1.1",
"NETStandard.Library": "1.6.1",
"System.Security.Claims": "4.3.0"
},
"compile": {
"lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll": {}
}
},
Run Code Online (Sandbox Code Playgroud)
这些“ compile”属性是导致此问题的原因,因为如果我手动删除的compile属性lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll,则错误现在变为:
Error: assembly specified in the dependencies manifest was not found -- package: 'microsoft.aspnetcore.authorization', version: '1.1.1', path: 'lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll'
为什么在*.deps.json文件中创建这些编译属性?他们需要吗?如果是这样,为什么lib在我创建目录时不创建目录dotnet publish?如果没有,如何删除它们以便我的应用程序运行?
谢谢。
| 归档时间: |
|
| 查看次数: |
1213 次 |
| 最近记录: |