我正在尝试使用.NET Core CLI使用System.Data.SqlClient.dll构建C#AWS Lambda包。我正在构建C#AWS Lambda包。我如何正确包含System.Data.SqlClient.dll?
在我的C#Lambda函数我试图连接到外部SQL Server实例。为此,我在代码中使用了“使用System.Data.SqlClient”语句,并使用其中的一些类。
AWS提供了一些使用'dotnet restore'和'dotnet publish'来构建软件包的例子。经过一番工作,这些工作完美无缺地与我的项目。运行后发布,发布的目录结构具有以下目录:
* \ BIN \调试\ netcoreapp1.0 \发布\运行时间*
含目录'UNIX', '双赢',“WIN7-64 '和'win7-x86'。
更深这些目录里面,我找到该模块 'System.Data.SqlClient.dll' 内,如:
\ BIN \调试\ netcoreapp1.0 \发布\运行时间\ UNIX \ LIB \ netstandard1.3 \ BIN \调试\ netcoreapp1.0 \发布\运行时间\ WIN \ LIB \ netstandard1.3
的问题是,AWS拉姆达似乎无法找到此目录结构内的模块。当试图测试代码中,我得到以下错误:
"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函数非常新,我发现这很难找到更多信息。
在此先感谢!
我认为这是我错过了。看起来太棒了! – theoneandonly2
@Norm Johanson任何想法是什么“额外的文件复制”是? – CamHart
我在Visual Studio 2015中创建了一个新的Lambda C#,它有Amazon.Lambda.Tools,但找不到System.Data和System.Data.SqlClient。有任何想法吗? – NealWalters