خلفية
في نظام التشغيل Windows ، أقوم بالتكامل مع أداة NET Core العمومية التي تقوم بدورها بتحميل التجميعات عبر معلمة سطر الأوامر assembly="c:\source\bin\Debug\netstandard2.0\JohnZabroski.Database.dll"
. يشير $ JohnZabroski.Database.dll
بشكل انتقالي إلى System.Data.SqlClient
.
مشكلة
مع COREHOST_TRACE=1
، يبدو stderr الحالي الخاص بي كما يلي:
!!! Could not load file or assembly 'System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621)
!!! +- Could not load file or assembly 'System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileLoadException: Could not load file or assembly 'System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621) ---> System.IO.FileLoadException: Could not load file or assembly 'System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, String ilPath, String niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at System.Reflection.Assembly.LoadFromResolveHandler(Object sender, ResolveEventArgs args)
at System.AppDomain.InvokeResolveEvent(ResolveEventHandler eventHandler, RuntimeAssembly assembly, String name)
لقد وجدت منشور المدونة التالي مخيفًا إلى حد ما عند محاولة استكشاف الأخطاء وإصلاحها لماذا تعذر العثور على التجميع الخاص بي أو تحديد موقعه: https://mattwarren.org/2016/07/04/How-the-dotnet-CLI-tooling-runs-your -الشفرة/
لقد وجدت أداة Assembly Fusion Log Viewer في .NET 4.6 لتكون تجربة مستخدم أسهل كثيرًا. انظر: https://github.com/dotnet/coreclr/issues/10379
ربما ذات صلة
https://github.com/dotnet/coreclr/issues/15863 - يجد المستخدمون أن تجميع تصحيح الأخطاء يتم تحميله على Linux ليكون مروعًا (ثابت: https://github.com/dotnet/coreclr/pull/15831)
بدءًا منjeffschwMSFT. الرجاء إصلاح area-
إذا كنت مخطئًا.
هذا مطلوب للغاية. إنه مدرج في عملنا المتراكم ، لكن من غير المحتمل أن يصنع .NET Core 3.0.
هذا مطلوب للغاية. إنه مدرج في عملنا المتراكم ، لكن من غير المحتمل أن يصنع .NET Core 3.0.
إذا كانت "هناك حاجة ماسة إليها" ، فلماذا لا تكون في Core 3.0؟ يعد شحن الميزات الجديدة والرائعة أمرًا رائعًا ، لكن قوة Microsoft كانت دائمًا في الأدوات لتصحيح هذه الميزات عندما لا تعمل. يعد استكشاف أخطاء فشل ربط التجميع وإصلاحها أداة مهمة يجب تضمينها في Core منذ اليوم الأول ، وحقيقة أنه لم يكن وما زال لا يُنظر إليه كأولوية أمر مثير للقلق ، وبصراحة تامة ، محرج.
التعليق الأكثر فائدة
هذا مطلوب للغاية. إنه مدرج في عملنا المتراكم ، لكن من غير المحتمل أن يصنع .NET Core 3.0.