Windows.Implementation подгружается через Assembly.LoadFrom , в Modules она загружена, но зависимые сборки не загружаются.
В документации написано что нельзя использовать .NET FW в .NET Core.
В Windows.Implemenation реализуются специфичные методы для платформы Windows, которые есть в FW 4.7.2 но отсуствую в Core 2.0.
Linux/Mac реализуются через системные функции и ImportDLL
В Windows.Implementation хотелось бы облегчить работу и использовать готовые функции фреймворка, есть ли решения ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Вариант 1: Перевести App и Interfaces на .NET Standard, тогда его можно будет использовать и из FW и из Mac/Linux
Вариант 2: Так как в Core 3 сделали и WinForms и WPF, имеет смысл посмотреть есть ли нужные функции в .NET Core 3, или можно их реализовать малой кровью (например выдергав рефлектором), и переехать всем проектом на Core 3
Здравствуйте, okon, Вы писали:
O>Есть следующие проекты ( упрощенно ) : O> Windows.Implementation ( FW 4.7.2 )
O>В Windows.Implementation хотелось бы облегчить работу и использовать готовые функции фреймворка, есть ли решения ?
Может https://docs.microsoft.com/ru-ru/dotnet/core/porting/windows-compat-pack ?
Здравствуйте, hi_octane, Вы писали:
O>>Есть следующие проекты ( упрощенно ) : O>> App ( Core 2.0 ) O>> Interfaces ( Core 2.0 ) O>> Windows.Implementation ( FW 4.7.2 ) O>> Linux.Implementation ( Core 2.0 ) O>> Mac.Implementation ( Core 2.0 ) O>> …
_>Вариант 1: Перевести App и Interfaces на .NET Standard, тогда его можно будет использовать и из FW и из Mac/Linux
Тут немного обратная зависимость т.е. я использую не App ил Windows.Implementation, а наоборот Windows.Implementation пытаюсь загрузить в App.
App.csproj
Assembly.LoadFrom("Windows.Implementation.dll") условно так, при этом сборка нормально загружается, но при попытке вызова метода инстанса пишется Method not found. Например System.IO.Directory.GetAccessControl()
_>Вариант 2: Так как в Core 3 сделали и WinForms и WPF, имеет смысл посмотреть есть ли нужные функции в .NET Core 3, или можно их реализовать малой кровью (например выдергав рефлектором), и переехать всем проектом на Core 3
этого метода System.IO.Directory.GetAccessControl() — нету, есть в .NET FW только
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, Valeriy_Gourov, Вы писали:
V_G>Здравствуйте, okon, Вы писали:
O>>Есть следующие проекты ( упрощенно ) : O>> Windows.Implementation ( FW 4.7.2 )
O>>В Windows.Implementation хотелось бы облегчить работу и использовать готовые функции фреймворка, есть ли решения ? V_G>Может https://docs.microsoft.com/ru-ru/dotnet/core/porting/windows-compat-pack ?
Да помогло, плюс еще пакет System.IO.FileSystem.AccessControl подключить и код поменять например
Directory.GetAccessControl переписать через new DirectorySecurity()
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов