DotPeek Декомпилировать.dll файл

Когда я декомпилирую файл X.dll, я не могу восстановить его, и я получаю следующие ошибки


  • Код серьезности Описание Проект Состояние ошибки подавления строки файла CS1001 Ожидается идентификатор. Библиотека C:\Users\ ...\Managers\RpcHubManager.cs 52 Активен

почему dotpeek создает этот странный код "o__SiteContainer6.<>p__Site7 ", и что это значит??, как я могу решить эту проблему??, заранее спасибо

private void OnTimerElapsed(object sender)
        {
            System.Threading.ThreadPool.QueueUserWorkItem(delegate(object n)
            {
                foreach (System.Collections.Generic.KeyValuePair<SessionManager, string> current in RpcHubManager.Dashboard_Connections)
                {
                    System.Collections.Generic.List<SymbolMinimizedDTO> updatedSymbolsPrices = this.trader_manager.GetUpdatedSymbolsPrices(current.Key, false);
                    if (RpcHubManager.<OnTimerElapsed>o__SiteContainer6.<>p__Site7 == null)
                    {
                        RpcHubManager.<OnTimerElapsed>o__SiteContainer6.<>p__Site7 = CallSite<Action<CallSite, object, string>>.Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "updateSymbols", null, typeof(RpcHubManager), new CSharpArgumentInfo[]
                        {
                            CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
                            CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null)
                        }));
                    }
                    RpcHubManager.<OnTimerElapsed>o__SiteContainer6.<>p__Site7.Target(RpcHubManager.<OnTimerElapsed>o__SiteContainer6.<>p__Site7, this.hubContext.Clients.Client(current.Value), Json.Encode(updatedSymbolsPrices));
                }
            });
        }

1 ответ

Ваша проблема, потому что IL (Общий промежуточный язык) позволяет < а также > символы в именах переменных, но C# нет.

Например:

RpcHubManager.<OnTimerElapsed>o__SiteContainer6.<>p__Site7

Он не может быть скомпилирован из-за <OnTimerElapsed>o__SiteContainer6 а также <>p__Site7 название.

Замени это

RpcHubManager.OnTimerElapsedo__SiteContainer6.p__Site7

и все будет работать

Другие вопросы по тегам