Apa cara yang benar untuk merujuk System.Management.Automation? Misalnya, cuplikan ini dari 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"
},
Bekerja ketika Anda menjalankan dotnet restore yang menemukan dan mengklaim menginstal ketergantungan System.Management.Automation (perhatikan bahwa .17515 tidak kompatibel dengan .NET Core). Tetapi Anda tidak bisa begitu saja menambahkan penggunaan dalam kode, atau dikatakan:
The type or namespace name 'Management' does not exist in the namespace 'System'
Maksud di sini adalah untuk membuat instance PowerShell secara terprogram dalam kode, tetapi .NET Core agak membatasi dalam cara menangani referensi...
Ini adalah masalah yang diketahui untuk NuGet yang kami coba selesaikan. Ada sejumlah paket System.Management.Automation nakal yang telah diposting orang eksternal. Semua paket tersebut adalah rakitan "FullCLR" dan tidak kompatibel dengan PowerShell Core.
Cara saat ini untuk menggunakan versi PowerShell Core System.Management.Automation adalah dengan menyalin teknik yang digunakan oleh proyek ini. File nuget.config kami menunjuk ke versi yang benar yang diposting ke MyGet. powershell-win-core\project.json menunjukkan cara menggunakannya dalam project.json Anda.
Hai Don.
Ada beberapa hal tentang dotnet
cli yang dapat membantu Anda mengatasinya.
nuget.config
itu akan menggunakan https://www.nuget.orgframeworks / net451 / frameworkAssemblies
, seperti di sini https://github.com/PowerShell/PowerShell/blob/dd2394b1e6088f6c82054f5cae5520e532010fd4 /src/System.Management.Automation/project.json#L188dependencies
di project.json
: globabl dan framework tertentu. Anda harus menggunakannya dengan tepat.Sempurna.