ما هي الطريقة الصحيحة للإشارة إلى System.Management.Automation؟ على سبيل المثال ، هذا المقتطف من project.json:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.AspNetCore.Routing": "1.0.0",
"System.Security.Cryptography.Algorithms": "4.2.0",
"System.Management.Automation": "6.1.7601.17514"
},
يعمل عند تشغيل استعادة dotnet حيث يجد ويدعي تثبيت تبعية System.Management.Automation (مع ملاحظة أن .17515 غير متوافق مع .NET Core). لكن لا يمكنك ببساطة إضافة استخدام في الكود ، أو تقول:
The type or namespace name 'Management' does not exist in the namespace 'System'
القصد هنا هو إنشاء مثيل PowerShell برمجيًا في الكود ، لكن NET Core مقيدًا بعض الشيء في الكيفية التي يريد بها معالجة المراجع ...
هذه مشكلة معروفة لـ NuGet نحاول حلها. هناك عدد من حزم System.Management.Automation المارقة التي نشرها أشخاص خارجيون. هذه الحزم كلها تجميعات "FullCLR" وليست متوافقة مع PowerShell Core.
الطريقة الحالية لاستهلاك إصدار PowerShell Core من System.Management.Automation هو نسخ التقنية المستخدمة في هذا المشروع. يشير ملف بنا إلى الإصدار الصحيح الذي تم نشره في MyGet. يوضح powerhell-win-core \ project.json كيفية استهلاكه داخل مشروعك. json.
مرحبا دون.
هناك أشياء قليلة حول dotnet
cli قد تساعدك على حلها.
nuget.config
فستستخدم https://www.nuget.orgframeworks / net451 / frameworkAssemblies
، مثل هنا https://github.com/PowerShell/PowerShell/blob/dd2394b1e6088f6c82054f5cae5520e532010fd4 /src/System.Management.Automation/project.json#L188dependencies
في project.json
: globabl و framework محددة. يجب عليك استخدامها بشكل مناسب.ممتاز.