MissingMethodException в Windows 8
Atom Ответить
17.01.2013


На Гидре ошибка при самом старте
Код
10:10:45.267|Error  |StockSharp|System.MissingMethodException: Метод не найден: "StockSharp.BusinessEntities.Exchange StockSharp.BusinessEntities.Exchange.get_Me()".
   в StockSharp.Hydra.MainWindow.InitializeDataSource()
   в StockSharp.Hydra.MainWindow.<MainWindowLoaded>b__4() в e:\Projects\stocksharpconnectors_4.1.7\trunk\Hydra\Hydra\MainWindow.xaml.cs:строка 162
   в System.Threading.Tasks.Task`1.InnerInvoke()
   в System.Threading.Tasks.Task.Execute()

Воспроизводится на последней версии под Windows 8 (система и VS со всеми обновлениями). Под Windows 7 всё в порядке. Похоже, какие-то косяки динамического связывания со статическими пропертями.

Теги:


Спасибо:




9 Ответов
VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Возможно это связано с проблемами вызова из WPF статических свойств базовых классов
Похожее описано тут
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.01.2013
Ответить


VassilSanych Перейти
Возможно это связано с проблемами вызова из WPF статических свойств базовых классов
Похожее описано тут


Думаю это последствия SVNLaugh

Скачайте исходники архивом целиков. А отдельную папку распакуйте, скомпилируйте и запустите. У меня 8-ка. Все нормально работает. И WPF тут ни при чем (видно по кол стеку).
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Mikhail Sukhov Перейти
Думаю это последствия SVNLaugh
Скачайте исходники архивом целиков. А отдельную папку распакуйте, скомпилируйте и запустите. У меня 8-ка. Все нормально работает.

Потратил время, послушно выполнил всё, как описано. Результат тот же.
Возможно, это из-за того, что у меня на VS стоит SP1, а возможно дело в чём-то ещё. Система практически новая - в общей сложности использовал недели две.
Mikhail Sukhov Перейти
И WPF тут ни при чем (видно по кол стеку).

Всё, что вызывается из WPF, имеет отношение к WPF.
Для наглядности, вот текст ошибки, если вызов не оборачивать в Task:
Код
10:53:46.204|Error  |StockSharp|System.MissingMethodException: Метод не найден: "StockSharp.BusinessEntities.Exchange StockSharp.BusinessEntities.Exchange.get_Me()".
   в StockSharp.Hydra.MainWindow.InitializeDataSource()
   в StockSharp.Hydra.MainWindow.MainWindowLoaded(Object sender, RoutedEventArgs e) в e:\Projects\stocksharpconnectors_4.1.7\trunk\Hydra\Hydra\MainWindow.xaml.cs:строка 162
   в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   в MS.Internal.FrameworkObject.OnLoaded(RoutedEventArgs args)
   в System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   в System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   в System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   в System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   в System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   в System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   в System.Windows.Interop.HwndTarget.OnResize()
   в System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   в System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)


Автор топика
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Рефлектор пишет, что Hydra.exe собрана у меня с такими настройками
Код
[assembly: AssemblyProduct("StockSharp")]
[assembly: AssemblyTrademark("StockSharp")]
[assembly: AssemblyCompany("StockSharp")]
[assembly: AssemblyCopyright("Copyright @ StockSharp 2012")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: CLSCompliant(true)]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: ComVisible(false)]
[assembly: Extension]
[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.EnableEditAndContinue | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.Default)]
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows=true)]
[assembly: AssemblyFileVersion("4.1.7.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.0", FrameworkDisplayName=".NET Framework 4")]
[assembly: AssemblyTitle("Hydra")]
[assembly: AssemblyDescription("")]

Может у меня настройки студии неподходящие? Сравните, пожалуйста, с манифестом вашего бинарника.
Автор топика
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Windows 8 x64 Корпоративная N(активирована)
Установлен русский языковой пакет (язык MUI - русский, язык приложений - русский, язык настроек - русский, язык по умолчанию - английский)
Все обновления.

Microsoft Studio Ultimate 2012
Version 11.0.51106.01 Update 1
Все обновления.

IE 10.0.1


Ещё стоят Office 2013 и vmware 9, но не думаю, что это имеет значение.
Автор топика
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


На девственно чистом Windows Server 2012, установленном на vmware, запускается нормально.
Может дело действительно в языковых настройках?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.01.2013
Ответить


VassilSanych Перейти

Для наглядности, вот текст ошибки, если вызов не оборачивать в Task:
Код
10:53:46.204|Error  |StockSharp|System.MissingMethodException: Метод не найден: "StockSharp.BusinessEntities.Exchange StockSharp.BusinessEntities.Exchange.get_Me()".
   в StockSharp.Hydra.MainWindow.InitializeDataSource()



Столько разговор про рефлектор, а как до дело дошло, сразу он куда-то улетучился.BigGrin Посмотрите что у вас со сборкой не так. Почему это свойство не находится. Смотреть надо в папке Гидры (куда она скомпилировалась).
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Mikhail Sukhov Перейти
Столько разговор про рефлектор, а как до дело дошло, сразу он куда-то улетучился.BigGrin Посмотрите что у вас со сборкой не так. Почему это свойство не находится. Смотреть надо в папке Гидры (куда она скомпилировалась).

Конечно смотрел.
Со сборкой всё в порядке. Она на месте и именно та, которая надо. И свойство Me также имеется (иначе откуда бы я знал, что оно статическое?)

Автор топика
Спасибо:

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


Источник проблемы найден.
Спасибо за наводку.
Посмотрел порядок подгрузки во время отладки.
Оказалось, что многие библиотеки грузятся из E:\ProgramData\Red Gate\.NET Reflector\DevPath ,
а там лежит старьё.
Наверное рефлектор прописал эту свою папку в PATH.
Зараза.

Спасибо за внимание :)
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy