← Zurück

MissingMethodException в Windows 8

На Гидре ошибка при самом старте

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 всё в порядке. Похоже, какие-то косяки динамического связывания со статическими пропертями.

Kommentare (9)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

VassilSanych
VassilSanych Autor

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

Mikhail Sukhov
Mikhail Sukhov

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

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

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

VassilSanych
VassilSanych Autor

Mikhail Sukhov: Думаю это последствия SVN😂 Скачайте исходники архивом целиков. А отдельную папку распакуйте, скомпилируйте и запустите. У меня 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)
Mikhail Sukhov
Mikhail Sukhov

VassilSanych: Для наглядности, вот текст ошибки, если вызов не оборачивать в Task:

10:53:46.204|Error |StockSharp|System.MissingMethodException: Метод не найден: "StockSharp.BusinessEntities.Exchange StockSharp.BusinessEntities.Exchange.get_Me()". в StockSharp.Hydra.MainWindow.InitializeDataSource()


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

Mikhail Sukhov: Столько разговор про рефлектор, а как до дело дошло, сразу он куда-то улетучился.😀 Посмотрите что у вас со сборкой не так. Почему это свойство не находится. Смотреть надо в папке Гидры (куда она скомпилировалась). Конечно смотрел. Со сборкой всё в порядке. Она на месте и именно та, которая надо. И свойство Me также имеется (иначе откуда бы я знал, что оно статическое?)

VassilSanych
VassilSanych Autor

Рефлектор пишет, что 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
VassilSanych Autor

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
VassilSanych Autor

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

VassilSanych
VassilSanych Autor

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

Спасибо за внимание :)