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
и все будет работать