Size: a a a

2020 January 01

E

EgorBo in pro.net
@fvnever https://github.com/JetBrains/Refasmer — зачем велосипед, уже ж есть
источник

E

EgorBo in pro.net
алсо, не забудьте что из структур нельзя все поля выпилвать, нужно добавлять одно фейковое
источник

К

Карен in pro.net
EgorBo
алсо, не забудьте что из структур нельзя все поля выпилвать, нужно добавлять одно фейковое
На какие грабли можно наступить?
источник

E

EgorBo in pro.net
Карен
На какие грабли можно наступить?
псевдо-пустые структуры можно будет не инициализировать
источник

E

EgorBo in pro.net
fuck f;
str = f.ToString();
источник

К

Карен in pro.net
Это понятно
источник

NT

Nikita Tsukanov in pro.net
Ваши велосипеды неудобные
источник

К

Карен in pro.net
А какие проблемы с этим
источник

NT

Nikita Tsukanov in pro.net
Я оба пробовал
источник

NT

Nikita Tsukanov in pro.net
Карен
А какие проблемы с этим
Потенциальный бубух в рантайме
источник

К

Карен in pro.net
Nikita Tsukanov
Потенциальный бубух в рантайме
Когда?
источник

NT

Nikita Tsukanov in pro.net
Зависит от готовности рантайма к сюрпризам
источник

Dv

Dr. Friedrich von Never in pro.net
Я чота думаю, Филиппов в курсе того, что уже есть :)

Ты же про ключик компилятора, да?
источник

Dv

Dr. Friedrich von Never in pro.net
EgorBo
алсо, не забудьте что из структур нельзя все поля выпилвать, нужно добавлять одно фейковое
Ну, я про это помню.
источник

RB

Roman Bukin in pro.net
Есть кто-то, кто игрался с обходом ограничений на вызов internal методов из чужой сборки не через рефлекшон? Суть - нужно дёргать вот эти методы https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/Interop/Windows/BCrypt/Interop.BCryptGenRandom.GetRandomBytes.cs#L10 и https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/Interop/Unix/System.Native/Interop.GetRandomBytes.cs#L17 Они живут в System.Private.CoreLib. Пробовал как в статье https://www.strathweb.com/2018/10/no-internalvisibleto-no-problem-bypassing-c-visibility-rules-with-roslyn/ - генерируется хреновая сборка, у которой
.class public abstract sealed auto ansi beforefieldinit
 Uuid.CoreLib.Internal
   extends [System.Private.CoreLib]System.Object
а правильно
.class public abstract sealed auto ansi beforefieldinit
 Uuid.CoreLib.Internal
   extends [System.Runtime]System.Object
Падает при старте с криками, что не может подгрузить тип для object. В итоге сделал через .ilproj
Вопрос к знатокам - можно ли всё же как-то сделать на C#? В момент когда CSharpCompilation.Create делаю - вижу, что ObjectType берётся из System.Private.CoreLib, а не из System.Runtime. Свойство - вот это https://github.com/dotnet/roslyn/blob/master/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs#L1493
Есть варианты получше, чем дёргать internal-методы розлина?
источник

IC

Ilya Chernoudov in pro.net
Roman Bukin
Есть кто-то, кто игрался с обходом ограничений на вызов internal методов из чужой сборки не через рефлекшон? Суть - нужно дёргать вот эти методы https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/Interop/Windows/BCrypt/Interop.BCryptGenRandom.GetRandomBytes.cs#L10 и https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/Interop/Unix/System.Native/Interop.GetRandomBytes.cs#L17 Они живут в System.Private.CoreLib. Пробовал как в статье https://www.strathweb.com/2018/10/no-internalvisibleto-no-problem-bypassing-c-visibility-rules-with-roslyn/ - генерируется хреновая сборка, у которой
.class public abstract sealed auto ansi beforefieldinit
 Uuid.CoreLib.Internal
   extends [System.Private.CoreLib]System.Object
а правильно
.class public abstract sealed auto ansi beforefieldinit
 Uuid.CoreLib.Internal
   extends [System.Runtime]System.Object
Падает при старте с криками, что не может подгрузить тип для object. В итоге сделал через .ilproj
Вопрос к знатокам - можно ли всё же как-то сделать на C#? В момент когда CSharpCompilation.Create делаю - вижу, что ObjectType берётся из System.Private.CoreLib, а не из System.Runtime. Свойство - вот это https://github.com/dotnet/roslyn/blob/master/src/Compilers/CSharp/Portable/Compilation/CSharpCompilation.cs#L1493
Есть варианты получше, чем дёргать internal-методы розлина?
Зачем тебе это? Это же просто пинвок
источник

IC

Ilya Chernoudov in pro.net
Сделай dllimport сам
источник

RB

Roman Bukin in pro.net
Ilya Chernoudov
Зачем тебе это? Это же просто пинвок
Ну он так то под разные оси по разному реализуется
источник

Dv

Dr. Friedrich von Never in pro.net
Roman Bukin
Ну он так то под разные оси по разному реализуется
Ну как, например?
источник

Dv

Dr. Friedrich von Never in pro.net
Ты мне ток под юникс показал
источник