У меня есть следующий скрипт Minimal.ps1:
Add-Type -LiteralPath "$PSScriptRoot/lib/JsonPatch.Net.dll"
$ErrorActionPreference = "Stop"
[System.Text.Json.JsonSerializer]::Deserialize[Json.Patch.JsonPatch]("[]")
В имеющемся у меня каталоге lib извлечено содержимое lib/net8.0/ из пакета JsonPatch.Net 3.2.3 Nuget.
На windows скрипт работает:
$ pwsh ./Minimal.ps1
Operations
----------
{}
Когда я пытаюсь запустить тот же сценарий в Linux в Docker, он терпит неудачу:
$ docker run --rm -it -v .:/test -w /test mcr.microsoft.com/dotnet/sdk:8.0.404 /usr/bin/pwsh ./Minimal.ps1
MethodInvocationException: /test/Minimal.ps1:6
Line |
6 | [System.Text.Json.JsonSerializer]::Deserialize[Json.Patch.JsonPatch]( …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Exception calling "Deserialize" with "1" argument(s): "Could not resolve type 'Json.Patch.PatchJsonConverter' in assembly 'JsonPatch.Net, Version=3.0.0.0, Culture=neutral,
| PublicKeyToken=17ed63f672b0e278'."
Я пытался создать экземпляр PatchJsonConverter явно, но он вернул ту же ошибку (не удалось определить тип).
Я видел что JsonPatch.Net имел зависимости от Json.More.Net, JsonPointer.Net, Humanizer.Net.
При попытке чтобы также загрузить эти библиотеки DLL в Linux с помощью Add-Type, я получаю подобные ошибки, за исключением Humanizer.Net, который загружается правильно.
Add-Type -Verbose -LiteralPath "$PSScriptRoot/lib/Json.More.dll"
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Could not load file or assembly 'Json.More, Version=2.0.0.0, Culture=neutral, PublicKeyToken=17ed63f672b0e278'.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -not-linux
Почему JsonPatch.Net.dll работает в pwsh в Windows, но не в Linux? ⇐ Linux
-
Anonymous
1733505944
Anonymous
У меня есть следующий скрипт Minimal.ps1:
Add-Type -LiteralPath "$PSScriptRoot/lib/JsonPatch.Net.dll"
$ErrorActionPreference = "Stop"
[System.Text.Json.JsonSerializer]::Deserialize[Json.Patch.JsonPatch]("[]")
В имеющемся у меня каталоге lib извлечено содержимое lib/net8.0/ из пакета JsonPatch.Net 3.2.3 Nuget.
На windows скрипт работает:
$ pwsh ./Minimal.ps1
Operations
----------
{}
Когда я пытаюсь запустить тот же сценарий в Linux в Docker, он терпит неудачу:
$ docker run --rm -it -v .:/test -w /test mcr.microsoft.com/dotnet/sdk:8.0.404 /usr/bin/pwsh ./Minimal.ps1
MethodInvocationException: /test/Minimal.ps1:6
Line |
6 | [System.Text.Json.JsonSerializer]::Deserialize[Json.Patch.JsonPatch]( …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Exception calling "Deserialize" with "1" argument(s): "Could not resolve type 'Json.Patch.PatchJsonConverter' in assembly 'JsonPatch.Net, Version=3.0.0.0, Culture=neutral,
| PublicKeyToken=17ed63f672b0e278'."
Я пытался создать экземпляр PatchJsonConverter явно, но он вернул ту же ошибку (не удалось определить тип).
Я видел что JsonPatch.Net имел зависимости от Json.More.Net, JsonPointer.Net, Humanizer.Net.
При попытке чтобы также загрузить эти библиотеки DLL в Linux с помощью Add-Type, я получаю подобные ошибки, за исключением Humanizer.Net, который загружается правильно.
Add-Type -Verbose -LiteralPath "$PSScriptRoot/lib/Json.More.dll"
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Could not load file or assembly 'Json.More, Version=2.0.0.0, Culture=neutral, PublicKeyToken=17ed63f672b0e278'.
Подробнее здесь: [url]https://stackoverflow.com/questions/79258847/why-does-jsonpatch-net-dll-work-in-pwsh-on-windows-but-not-linux[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия