我的.NETStandard库在Visual Studio上可以在本地正常运行。但是,当我发布包含.NETStandard库的WebApi时,在EF Core Migrations步骤中发布过程失败。 我通过@bendayconsulting使用“部署实体框架核心迁移”发布任务。我收到的错误消息是在应用程序依赖项清单(MySecondMobileApp.ServerData.deps.json)中指定的n程序集未找到: 软件包:“ Google.Protobuf”,版本:“ 3.5.1” 路径:“ lib / netstandard1.0 / Google.Protobuf.dll
当我在解决方案中查看程序包文件夹时,没有Google.Protobuf程序集。程序集存储在我的全局NuGet文件夹中,并且是MySql.EntityFrameWorkCore NuGet包的一部分。 MySql.EntityFramworkCore程序包也安装在我的用户的全局NuGet文件夹中。如何在解决方案的文件夹中获取这些软件包?我认为这就是我的问题的答案。
我的deps文件如下:
{
"runtimeTarget": {
"name": ".NETStandard,Version=v2.0/",
"signature": "19d3dd659b5fa2adabeefcff78ce8381da3d4fe9"
},
"compilationOptions": {},
"targets": {
".NETStandard,Version=v2.0": {},
".NETStandard,Version=v2.0/": {
"ClassLibrary1/1.0.0": {
"dependencies": {
"Google.Protobuf": "3.6.1",
"NETStandard.Library": "2.0.3"
},
"runtime": {
"ClassLibrary1.dll": {}
}
},
"Google.Protobuf/3.6.1": {
"dependencies": {
"NETStandard.Library": "2.0.3"
},
"runtime": {
"lib/netstandard1.0/Google.Protobuf.dll": {
"assemblyVersion": "3.6.1.0",
"fileVersion": "3.6.1.0"
}
}
},
"Microsoft.NETCore.Platforms/1.1.0": {},
"NETStandard.Library/2.0.3": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
}
}
},
"libraries": {
"ClassLibrary1/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Google.Protobuf/3.6.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-D/h9IZl76jjfM5VlPzG235Zdys9RKXNLYbRGm2fa6Y2UshTqAvYBPIydNOvNTEa24DER/m/zvelHlLO9n1GtNQ==",
"path": "google.protobuf/3.6.1",
"hashPath": "google.protobuf.3.6.1.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
"path": "microsoft.netcore.platforms/1.1.0",
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
},
"NETStandard.Library/2.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
"path": "netstandard.library/2.0.3",
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
}
}
}
答案 0 :(得分:0)
配置package management feed (Azure Artifacts)并将内部软件包推送到其中,然后在构建之前使用NuGet还原任务,然后再进行构建以从内部供稿还原软件包。
答案 1 :(得分:0)
最后,我解决了这个问题。首先,我将对我的不完整的问题表示歉意。我不得不告诉stackoverflow我的整个问题。我的基本问题是,我无法在Azure Devops中的Hosted2017构建代理上发布包含MySql的EntityFrameworkCore for MySql的WebAPI。 Build Agent还可以执行数据库迁移。
经过一番思考,我重新释放了默认情况下.NET不支持的MySqlConnection->您必须在生成代理上安装其他客户端软件。不幸的是,Microsoft构建代理没有能力在构建代理和MySQL数据库服务器之间建立MySQLConnection。
目前对我来说最重要的是,AWS上的API WebServer默认支持此数据库连接。我的WebAPI在Web服务器上运行完美。
使构建代理与MySQL配合使用的解决方案是安装内部构建代理,然后安装MySQL Workbench来安装MYSQL软件。 现在,构建代理可以正常工作。迁移已成功执行。