Aws-sdk-net: Microsoft.Extensions.Logging.Abstractions مفقود

تم إنشاؤها على ١٩ مارس ٢٠١٨  ·  5تعليقات  ·  مصدر: aws/aws-sdk-net


أهلا،
باستخدام dotnet core 2.0 ، أثناء كتابة بعض الاختبارات التي تشير إلى مشروع يعتمد على nuget إلى:
AWSSDK.Extensions.NETCore.Setup (3.3.4) ،
تلقيت خطأ مفاده أنه لا يمكن العثور على تجميع Microsoft.Extensions.Logging.Abstractions v1.0 (callstack أدناه).

لقد ألقيت نظرة سريعة على الكود الخاص بك وفي رأيي (قد يكون خاطئًا) ، قد يكون هناك سطر مفقود في nuspec (آخر سطر تبعية):

<dependencies>
      <group targetFramework="netstandard1.3">
        <dependency id="AWSSDK.Core" version="[3.3.13.3, 3.4)" />
        <dependency id="Microsoft.Extensions.Configuration.Abstractions" version="1.0.2" />
        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="1.0.2" />
        <dependency id="Microsoft.Extensions.Logging.Abstractions" version="1.0.0" />
      </group>
    </dependencies>

بعد إضافة هذا السطر ، وإعادة إنشاء الحزمة يدويًا ، والكتابة فوق الإصدار الحالي وإعادة بناء المشروع ، يعمل الكود الخاص بي ببساطة.
هام : يعمل أيضًا إذا قمت بإضافة حزمة التسجيل يدويًا باستخدام الإصدار v1.0 إلى مشروعي ، دون تعديل aws-sdk-net على الإطلاق.
هام 2 : يعمل أيضًا إذا قمت بالرجوع إلى إصدار سابق:
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.3.1" />
بدلا من 3.3.4 هذا هو الحالي.

سلوك متوقع


يجب ألا أحصل على خطأ يصف التجميع المفقود عند إجراء اختبار المشروع.

الحل الممكن أعلاه.

السلوك الحالي

System.IO.FileNotFoundException: تعذر تحميل الملف أو التجميع 'Microsoft.Extensions.Logging.Abstractions ، الإصدار = 1.0.0.0 ، الثقافة = محايد ، PublicKeyToken = adb9793829ddae60'. لا يمكن للنظام العثور على الملف المحدد.
في Amazon.Extensions.NETCore.Setup.ClientFactory .CreateServiceClient (مزود IServiceProvider)
في Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory (FactoryCallSite factoryCallSite ، مزود ServiceProvider)
في Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSite(IServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitSingleton(SingletonCallSite singletonCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2. قم بزيارة موقع (IServiceCallSite callSite ، وسيطة TArgument)
في Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor (ConstructorCallSite constructorCallSite ، ServiceProvider Provider)
في Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSite(IServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitSingleton(SingletonCallSite singletonCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2. قم بزيارة موقع (IServiceCallSite callSite ، وسيطة TArgument)
في Microsoft.Extensions.DependencyInjection.ServiceProvider. <> c__DisplayClass22_0.b__0 (مزود الخدمة)
في Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService (اكتب نوع الخدمة)
في Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService T

حل ممكن


الحل الممكن أعلاه.

خطوات إعادة الإنتاج (للحشرات)




سياق الكلام


طور لامدا التي تستخدم SQS وأثناء كتابة بعض الاختبارات حصلت على هذه المشكلة.

بيئتك

  • إصدار AWSSDK.Core المستخدم:
    AWSSDK.Extensions.NETCore.Setup (3.3.4)
  • تجميع الخدمة والإصدار المستخدم:
    AWSSDK.Extensions.NETCore.Setup (3.3.4)
  • نظام التشغيل والإصدار:
    نظام التشغيل Windows 10
  • إصدار Visual Studio:
    VS 2017
  • منصة .NET المستهدفة:
    ASP.NET Core 2.0

    NET Core Info

  • إصدار .NET Core المستخدم للتطوير:
  • تم تثبيت إصدار .NET Core في البيئة حيث يتم تشغيل التطبيق:
  • ناتج dotnet --info :
    أدوات سطر أوامر .NET (2.1.4)

معلومات المنتج:
الإصدار: 2.1.4.1
قم بتنفيذ تجزئة SHA-1: 5e8add2190

بيئة التشغيل:
اسم نظام التشغيل: Windows
إصدار نظام التشغيل: 10.0.15063
نظام التشغيل: Windows
RID: win10-x64
المسار الأساسي: C: \ Program Files \ dotnet \ sdk \ 2.1.4 \

Microsoft .NET Core Shared Framework Host

الإصدار: 2.0.5
بناء: 17373eb129b3b05aa18ece963f8795d65ef8ea54

  • محتويات project.json / project.csproj:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
  </PropertyGroup>

  <ItemGroup>
    <None Remove="appSettings.json" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Amazon.Lambda.Core" Version="1.0.0" />
    <PackageReference Include="Amazon.Lambda.Serialization.Json" Version="1.1.0" />
    <PackageReference Include="Amazon.Lambda.KinesisEvents" Version="1.0.1" />
      <PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.3.4" />
      <PackageReference Include="AWSSDK.SQS" Version="3.3.3.4" />
      <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
      <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
      <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.0.0" />
      <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="2.1.1" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="appSettings.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </EmbeddedResource>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Bankrekt.Scheduler.Shared\Bankrekt.Scheduler.Shared.csproj" />
  </ItemGroup>

</Project>
Extensions bug

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

أرى نوعًا مشابهًا من المشكلات مع dotnet core 3.0 أي دليل حول ذلك؟

ال 5 كومينتر

هذا على الأرجح لأن مشروعك يستهدف 2.0 ويسحب 2.0 من Microsoft.Extensions.Logging.Abstractions ، لكن NETCore.Setup يبحث عن 1.0 ثنائيات. سنلقي نظرة على هذا.

تمسك جيد حول المرجع المفقود. أنا أجري هذا التغيير وسأصدر تحديثًا قريبًا.

تم إصدار الإصدار 3.3.3.5 بفضل إعلامنا بالمشكلة.

أرى نوعًا مشابهًا من المشكلات مع dotnet core 3.0 أي دليل حول ذلك؟

أحصل أيضًا على نفس المشكلة عند الإنشاء لـ dotnet core 3.0

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