【发布时间】:2017-05-05 06:42:29
【问题描述】:
我正在尝试使用 System.Data.SqlClient.dll 使用 .NET Core CLI 构建 C# AWS Lambda 包。
在我的 C# Lambda 函数中,我尝试连接到外部 SQL Server 实例。这样做时,我的代码中有“using System.Data.SqlClient”语句,并使用其中的一些类。
AWS 提供了一些关于使用“dotnet restore”和“dotnet publish”构建包的示例。经过一些工作,这些都与我的项目完美配合。运行发布后,发布目录结构如下:
*\bin\Debug\netcoreapp1.0\publish\runtimes*
包含目录'unix'、'win'、'win7-x64'和'win7-x86'。
在这些目录的更深处,我找到了模块'System.Data.SqlClient.dll',例如:
\bin\Debug\netcoreapp1.0\publish\runtimes\unix\lib\netstandard1.3 \bin\Debug\netcoreapp1.0\publish\runtimes\win\lib\netstandard1.3
问题在于 AWS Lambda 似乎无法在此目录结构中找到模块。尝试测试代码时出现以下错误:
"errorMessage": "Could not load file or assembly 'System.Data.SqlClient, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.",
我没有找到任何关于此问题的参考资料,但我认为我需要修改目录结构以帮助 AWS 找到正确的文件。我想这意味着选择正确的运行时模块。
我在正确的轨道上吗?有没有人有更好的理解和一些指示? C# Lambda 函数太新了,我发现很难找到更多相关信息。
提前致谢!
【问题讨论】:
标签: c# amazon-web-services aws-lambda sqlclient