Aws-lambda-dotnet: أداة الاختبار: خطأ خادم داخلي: FileNotFoundException: تعذر تحميل الملف أو التجميع

تم إنشاؤها على ٦ مارس ٢٠٢٠  ·  19تعليقات  ·  مصدر: aws/aws-lambda-dotnet

يبدو أنني أواجه مشكلة لا يمكنني رؤية الآخرين يصادفونها. لقد تحققت من كل ما يمكنني التفكير فيه ولكن بغض النظر عما أفعله ، عندما تفتح أداة اختبار lambda في المتصفح ، فإنها تفشل في تحميل قائمة الوظائف.

في علامة تبويب الشبكة يمكنني رؤية:

500 Error: http://localhost:5050/webtester-api/Tester/aws-lambda-tools-defaults.json
FileNotFoundException: Could not load file or assembly 'Amazon.Lambda.Serialization.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604'. The system cannot find the file specified.

تتبع المكدس الكامل:

System.IO.FileNotFoundException: Could not load file or assembly 'Amazon.Lambda.Serialization.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604'. The system cannot find the file specified.

File name: 'Amazon.Lambda.Serialization.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604'
   at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
   at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType)
   at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttribute(Assembly element, Type attributeType, Boolean inherit)
   at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunction(LambdaFunctionInfo functionInfo) in C:\codebuild\tmp\output\src248644039\src\Tools\LambdaTestTool\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 125
   at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunctions(IList`1 configInfos) in C:\codebuild\tmp\output\src248644039\src\Tools\LambdaTestTool\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 69
   at Amazon.Lambda.TestTool.WebTester.Controllers.TesterController.GetFunctions(String configFile) in C:\codebuild\tmp\output\src248644039\src\Tools\LambdaTestTool\Amazon.Lambda.TestTool\WebTester\Controllers\TesterController.cs:line 34
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Amazon.Lambda.TestTool.WebTester.Startup.<Configure>b__6_0(HttpContext context, Func`1 next) in C:\codebuild\tmp\output\src248644039\src\Tools\LambdaTestTool\Amazon.Lambda.TestTool\WebTester\Startup.cs:line 97
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

هل صادف أي شخص هذا من قبل أو يمكنه توجيهي في الاتجاه الصحيح؟ لا توجد أخطاء في وحدة التحكم من عند تشغيلها ولست متأكدًا تمامًا من مكان الخطأ.

قد يكون من الجدير بالذكر أنني أقوم بتشغيل هذا على Ubuntu.

Lambda-Test-Tool dependencies feature-request modullambda-test-tool

التعليق الأكثر فائدة

ericmilaneze هل يمكنك المحاولة والتجربة بالنسبة لي وفي ملف csproj قم بإضافة الخاصية CopyLocalLockFileAssemblies بقيمة true ومعرفة ما إذا كان ذلك يغير سلوكك؟

فيما يلي مثال على ملف csproj كامل.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <AWSProjectType>Lambda</AWSProjectType>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Amazon.Lambda.Core" Version="1.1.0" />
    <PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="1.0.0" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
  </ItemGroup>
</Project>

ال 19 كومينتر

أنا أعمل على إصدار جديد من هذه الأداة المرتبط بإصدار .NET Core 3.1 القادم ولكنه لا يزال يدعم NET Core 2.1. لقد أجريت بعض التعديلات على كيفية تحميل كود Lambda. إذا قدمت رابطًا إلى إصدار معاينة ، فهل ترغب في تجربته.

normj بالتأكيد إذا كان متوافقًا مع الإصدارات السابقة مع 2.1 لأنني من الناحية المثالية لا أرغب في إعادة صياغة جميع وظائفي حتى الآن 😅

نعم ، من الآن فصاعدًا ، كان هناك أداتان منفصلتان ، واحدة لـ 2.1 والأخرى لـ 3.1 لكنهما سيشتركان في الكثير من نفس المنطق. اسمح لي بتنظيف الأشياء ثم سأضيف رابطًا إلى الإصدار 2.1.

مقدر شكرا لك

هنا رابط لبناء معاينة للنسخة القادمة.

https://normj-packages.s3.us-west-2.amazonaws.com/Amazon.Lambda.TestTool-2.1.0.10.0-preview1.nupkg

لتثبيته قم بتنزيل ملف nupkg. ثم في الدليل الذي تقوم بتنزيل الملف فيه لتشغيل الأمر التالي لتحديث نسختك الحالية.

dotnet tool update -g amazon.lambda.testtool-2.1 --version 0.10.0-preview1 --add-source .

كنا نواجه مشكلة مع 0.9.5 عدم تحميل إصدار netstandard20 من حزمة NuGet Microsoft.AspNet.WebApi.Client . أدى التحديث إلى معاينة 0.10.0 إلى حل مشكلتنا.

@ brandon-king-halo شكرًا لإخباري بأن معاينة 0.10.0 تعمل على إصلاح المشكلة!

اعتذارات لم تسنح لي الفرصة لاختبار هذا بعد. يجب أن أتمكن من النظر إليه هذا الأسبوع!

لمعلوماتك إذا واجه أي شخص مشكلة في تثبيت nupkg محليًا. يركض:

dotnet tool uninstall -g amazon.lambda.testtool-2.1

ثم قم بتشغيل:

dotnet tool install -g amazon.lambda.testtool-2.1 --version 0.10.0-preview1 --add-source .


تضمين التغريدة
ما زلت أحصل على نفس الاستثناء مع إصدار المعاينة:

System.IO.FileNotFoundException: Could not load file or assembly 'Amazon.Lambda.Serialization.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604'. The system cannot find the file specified.

File name: 'Amazon.Lambda.Serialization.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604' ---> System.IO.FileNotFoundException: Could not load the specified file.
File name: 'Amazon.Lambda.Serialization.Json'
   at System.Runtime.Loader.AssemblyLoadContext.ResolveUsingEvent(AssemblyName assemblyName)
   at System.Runtime.Loader.AssemblyLoadContext.ResolveUsingResolvingEvent(IntPtr gchManagedAssemblyLoadContext, AssemblyName assemblyName)
   at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
   at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType)
   at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttribute(Assembly element, Type attributeType, Boolean inherit)
   at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunction(LambdaFunctionInfo functionInfo) in C:\codebase\aws-lambda-dotnet\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 135
   at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunctions(IList`1 configInfos) in C:\codebase\aws-lambda-dotnet\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 79
   at Amazon.Lambda.TestTool.WebTester.Controllers.TesterController.GetFunctions(String configFile) in C:\codebase\aws-lambda-dotnet\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool.WebTester21\Controllers\TesterController.cs:line 29
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Amazon.Lambda.TestTool.WebTester.Startup.<Configure>b__6_0(HttpContext context, Func`1 next) in C:\codebase\aws-lambda-dotnet\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool.WebTester21\Startup.cs:line 95
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

لقد ذكرت أنك كنت تفعل هذا على Ubuntu. هل جربت نفس الحل على أي شيء بخلاف Ubuntu؟ أتساءل عما إذا كانت هذه مشكلة خاصة بالمنصة.

قد يكون مرتبطًا ، حاول تشغيله باستخدام 3.1 وأداة الاختبار ذات الصلة على ubuntu 19.10.

  1. dotnet new lambda.EmptyFunction --name LinuxFunction
  2. dotnet restore
  3. dotnet build
  4. dotnet lambda-test-tool-3.1 --no-ui

أحمق:

AWS .NET Core 3.1 Mock Lambda Test Tool (0.10.0)
Loaded local Lambda runtime from project output /home/k/Documents/tmp/LinuxFunction/src/LinuxFunction/bin/Debug/netcoreapp3.1
Executing Lambda function without web interface
Found Lambda config file /home/k/Documents/tmp/LinuxFunction/src/LinuxFunction/aws-lambda-tools-defaults.json
... Using config file /home/k/Documents/tmp/LinuxFunction/src/LinuxFunction/aws-lambda-tools-defaults.json
... Info: function handler LinuxFunction::LinuxFunction.Function::FunctionHandler is not defined in config file.
Unknown error occurred causing process exit: Could not load file or assembly 'Amazon.Lambda.Serialization.SystemTextJson, Version=0.0.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604'. The system cannot find the file specified.

   at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, RuntimeType type, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
   at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, RuntimeType type, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
   at System.Reflection.CustomAttribute.AddCustomAttributes(ListBuilder`1& attributes, RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1 derivedAttributes)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType)
   at System.Reflection.RuntimeAssembly.GetCustomAttributes(Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttribute(Assembly element, Type attributeType, Boolean inherit)
   at System.Reflection.CustomAttributeExtensions.GetCustomAttribute(Assembly element, Type attributeType)
   at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunction(LambdaFunctionInfo functionInfo) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 141
   at Amazon.Lambda.TestTool.LocalLambdaOptions.LoadLambdaFuntion(LambdaConfigInfo configInfo, String functionHandler) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\LocalLambdaOptions.cs:line 54
   at Amazon.Lambda.TestTool.TestToolStartup.LoadLambdaFunction(LambdaConfigInfo configInfo, LocalLambdaOptions localLambdaOptions, CommandLineOptions commandOptions, String lambdaAssemblyDirectory, String lambdaProjectDirectory, RunConfiguration runConfiguration) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\TestToolStartup.cs:line 263
   at Amazon.Lambda.TestTool.TestToolStartup.ExecuteWithNoUi(LocalLambdaOptions localLambdaOptions, CommandLineOptions commandOptions, String lambdaAssemblyDirectory, RunConfiguration runConfiguration) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\TestToolStartup.cs:line 131
   at Amazon.Lambda.TestTool.TestToolStartup.Startup(String productName, Action`2 uiStartup, String[] args, RunConfiguration runConfiguration) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\TestToolStartup.cs:line 82

(لاحظ أنه يعمل "بشكل صحيح" إذا تمت إزالة مرجع التجميع (LambdaSerializer) ، ولكن من الواضح أن هذا ليس حلاً)

أي تحديث على هذا؟

أنا أستخدم Fedora 31 (لذلك يبدو أنها ليست مشكلة في Ubuntu كما هو الحال مع normj ) مع amazon.lambda.testtool-3.1 (0.10.0) وحاولت نفس الأمر مع JoelRoxell :

  1. dotnet new lambda.EmptyFunction --name LinuxFunction
  2. dotnet restore
  3. dotnet build
  4. dotnet lambda-test-tool-3.1 --no-ui

هذا ما أحصل عليه كرد:

===============================================

أداة اختبار AWS .NET Core 3.1 Mock Lambda (0.10.0)
وقت تشغيل Lambda المحلي الذي تم تحميله من إخراج المشروع / home/eric/code/examples/ex005/LinuxFunction/src/LinuxFunction/bin/Debug/netcoreapp3.1
تنفيذ وظيفة Lambda بدون واجهة ويب
تم العثور على ملف تكوين Lambda /home/eric/code/examples/ex005/LinuxFunction/src/LinuxFunction/aws-lambda-tools-defaults.json
... استخدام ملف التكوين /home/eric/code/examples/ex005/LinuxFunction/src/LinuxFunction/aws-lambda-tools-defaults.json
... معلومات: معالج الوظيفة LinuxFunction :: LinuxFunction.Function :: FunctionHandler غير معرّف في ملف التكوين.
حدث خطأ غير معروف تسبب في إنهاء العملية: تعذر تحميل الملف أو التجميع 'Amazon.Lambda.Serialization.SystemTextJson ، الإصدار = 0.0.0.0 ، الثقافة = محايد ، PublicKeyToken = 885c28607f98e604'. لا يمكن للنظام العثور على الملف المحدد.

في System.Reflection.CustomAttribute._CreateCaObject (RuntimeModule pModule ، RuntimeType type ، IRuntimeMethodInfo pCtor ، Byte * ppBlob ، Byte pEndBlob ، Int32 * pcNamedArgs)
في System.Reflection.CustomAttribute.CreateCaObject (وحدة RuntimeModule ، نوع RuntimeType ، IRuntimeMethodInfo ctor ، IntPtr & blob ، IntPtr blobEnd ، Int32 & namedArgs)
في System.Reflection.CustomAttribute.AddCustomAttributes (ListBuilder 1& attributes, RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder 1 المستمدة من السمات)
في System.Reflection.CustomAttribute.GetCustomAttributes (RuntimeModule DecorativeModule، Int32 DecorativeMetadataToken، Int32 pcaCount، RuntimeType attributeFilterType)
في System.Reflection.CustomAttribute.GetCustomAttributes (تجميع RuntimeAssembly ، RuntimeType caType)
في System.Reflection.RuntimeAssembly.GetCustomAttributes (نوع سمة النوع ، وراثة منطقية)
في System.Attribute.GetCustomAttributes (عنصر التجميع ، نوع سمة النوع ، توريث منطقي)
في System.Attribute.GetCustomAttribute (عنصر التجميع ، نوع سمة النوع ، توريث منطقي)
في System.Reflection.CustomAttributeExtensions.GetCustomAttribute (عنصر التجميع ، اكتب سمة النوع)
في Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.LoadLambdaFunction (LambdaFunctionInfo functionInfo) في C: \ codebuild \ tmp \ output \ src142363207 \ src \ Tools \ LambdaTestTool \ src \ Amazon.Lambda.TestTool: Runtime 141
في Amazon.Lambda.TestTool.LocalLambdaOptions.LoadLambdaFuntion (LambdaConfigInfo configInfo ، String functionHandler) في C: \ codebuild \ tmp \ output \ src142363207 \ src \ Tools \ LambdaTestTool \ src \ Amazon.Lambda.
في Amazon.Lambda.TestTool.TestToolStartup.LoadLambdaFunction (LambdaConfigInfo configInfo ، LocalLambdaOptions localLambdaOptions ، CommandLineOptions commandOptions ، String lambdaAssemblyDirectory ، String lambdaProjectDirectory ، RunConfiguration .Lambda.TestTool \ TestToolStartup.cs: السطر 263
في Amazon.Lambda.TestTool.TestToolStartup.ExecuteWithNoUi (LocalLambdaOptions localLambdaOptions و CommandLineOptions commandOptions و String lambdaAssemblyDirectory و RunConfiguration runConfiguration) في C: \ codebuild \ tmp \ output \ src236Toolest .cs: ​​السطر 131
في Amazon.Lambda.TestTool.TestToolStartup.Startup (String productName، Action`2 uiStartup، String [] args، RunConfiguration runConfiguration) في C: \ codebuild \ tmp \ output \ src142363207 \ src \ Tools \ LambdaTestToolda \ Amazon.Lamb .TestTool \ TestToolStartup.cs: السطر 82

===============================================

كما ذكر JoelRoxell ، لا يحدث ذلك إذا قمت بالتعليق على السطر التالي من التعليمات البرمجية:
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.LambdaJsonSerializer))]

... لكن اتضح أنني جربت الشيء نفسه في مشروع حقيقي وبدأت في الشكوى من Serilog:

System.IO.FileNotFoundException: Could not load file or assembly 'Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10'. The system cannot find the file specified.

يبدو أنه لا يعثر على أي تبعيات.

هل لدى أي شخص أي فكرة عما يحدث هنا؟

ericmilaneze هل يمكنك المحاولة والتجربة بالنسبة لي وفي ملف csproj قم بإضافة الخاصية CopyLocalLockFileAssemblies بقيمة true ومعرفة ما إذا كان ذلك يغير سلوكك؟

فيما يلي مثال على ملف csproj كامل.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <AWSProjectType>Lambda</AWSProjectType>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Amazon.Lambda.Core" Version="1.1.0" />
    <PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="1.0.0" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
  </ItemGroup>
</Project>

تضمين التغريدة
أواجه نفس المشكلة التي يواجهها ericmilaneze . إضافة الممتلكات المذكورة حلت المشكلة.
شكرا لك!

إنها تعمل!

شكرا ،normj!

normj نواجه مشكلة مماثلة ونحصل على استثناء "System.IO.FileLoadException" ولكن يختلف تتبع المكدس قليلاً. لقد حاولنا إضافة الخاصية أعلاه ولكن لم يحل المشكلة. عند النشر في AWS ، يعمل هذا بشكل جيد.

نحن نستخدم أحدث أداة اختبار لـ 2.1 ولكن عندما نستخدم حزمة nuget التي تم إنشاؤها لـ .NET Standard ، نحصل على الخطأ التالي:

System.IO.FileLoadException: تعذر تحميل الملف أو التجميع 'Internal.Integration.Amy ، الإصدار = 1.0.0.0 ، الثقافة = محايد ، PublicKeyToken = فارغ'. العملية ليست قانونية في الحالة الحالية. (استثناء من HRESULT: 0x80131509)
في Internal.Inventory.Sync.Lambda.Function..ctor ()
---------------- استثناء 1 داخلي ------------
System.InvalidOperationException: يجب أن يكون الاسم البسيط للتجميع الذي تم حله هو نفسه الاسم الخاص بالتجميع المطلوب.
في System.Runtime.Loader.AssemblyLoadContext.ValidateAssemblyNameWithSimpleName (تجميع التجميع ، سلسلة المطلوبة SimpleName)
في System.Runtime.Loader.AssemblyLoadContext.ResolveUsingLoad (اسم التجميع اسم التجميع)
في System.Runtime.Loader.AssemblyLoadContext.Resolve (IntPtr gchManagedAssemblyLoadContext ، AssemblyName AssemblyName)

أيه أفكار؟

 <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

إضافة هذا عملت بالنسبة لي. هل يمكننا إضافة هذا إلى README مؤقتًا؟

    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

هذا هو الشيء الوحيد الذي حل مشكلتي

أدت إضافة الخاصية المذكورة أعلاه إلى حل المشكلة بالنسبة لي أيضًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات