'System.DateTimeOffset' из сборки 'mscorlib, версия = 2.0.0.0 - PullRequest
2 голосов
/ 26 января 2011

Мое приложение Windows Form (созданное в Visual Studio 2008 с использованием C #) распространяется в нашей компании и работает на более чем 50 ПК без проблем.

Вчера мне пришлось установить его на старый ПК с WinXP.,Мой проект установки Visual Studio 2008 попросил установить .Net Framework 3.5 SP1.Мы установили его, перезагрузили и продолжили установку.

После установки я выключил старую машину, подождал около 5 секунд, а затем снова включил ее.

Когда я попытался запуститьприложение, я получил необработанное исключение: "Не удалось загрузить тип 'System.DateTimeOffset' из сборки 'mscorlib, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b77a5 ... бла, бла, бла.

Screen Shot of error

  1. Почему 3.5 SP1 не установил функцию DateTimeOffset?

  2. Почемуприложение пытается загрузить это из mscorlib version 2.0?

  3. Я выполнил поиск по ключевому слову DateTimeOffset, но его нет нигде в моем проекте. Является ли это частью DateTime (то есть DateTime.Now.AddDays(1))?

Вот копия полного исключения:

   See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.TypeLoadException: Could not load type 'System.DateTimeOffset' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.ComponentModel.ReflectTypeDescriptionProvider.get_IntrinsicTypeConverters()
   at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetConverter(Object instance)
   at System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetConverter()
   at System.ComponentModel.TypeDescriptor.GetConverter(Type type)
   at System.Windows.Forms.ListControl.GetItemText(Object item)
   at System.Windows.Forms.ComboBox.NativeAdd(Object item)
   at System.Windows.Forms.ComboBox.OnHandleCreated(EventArgs e)
   at System.Windows.Forms.Control.WmCreate(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ComboBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Suite
    Assembly Version: 2.2.21.30536
    Win32 Version: 2.2.21
    CodeBase: file:///C:/Program%20Files/Aaon%20Coil%20Products,%20Inc/ACP%20Software%20Suite/Suite.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
AcpFormHeader
    Assembly Version: 1.0.5.0
    Win32 Version: 1.0.5
    CodeBase: file:///C:/Program%20Files/Aaon%20Coil%20Products,%20Inc/ACP%20Software%20Suite/AcpFormHeader.DLL
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:


    


When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Ответы [ 3 ]

2 голосов
/ 26 января 2011
Win32 Version: 2.0.50727.42 (RTM.050727-4200)

Что-то пошло не так во время установки. Редакция 42 была оригинальной версией .NET 2.0. Трассировка также показывает 2.0.50727.3053, это хорошо. Прямо сейчас, у машины есть смешанная комбинация версий сборки. Исключение действительно ожидается с этим. Понятия не имею, конечно, как это произошло, я предполагаю плохую установку 3.5 поверх существующей 2.0. Или вы забыли перезагрузить компьютер после установки.

1 голос
/ 11 июля 2012

У меня сегодня такая же проблема.Я вставлял значения в DataVisualization.Charting.Series таким образом

MaSerie.Points.AddXY(x, y)

Я изменяю свой код для этого и ошибка DateTimeOffset исчезает

MaSerie.Points.Add(New DataVisualization.Charting.DataPoint(x, y))
1 голос
/ 26 января 2011
  1. Хороший вопрос. Установка, кажется, была неисправна.
  2. Поскольку .NET 3.5 использует среду выполнения 2.0, как и .NET 3.0.
  3. Нет, это не так. Это совершенно отдельная структура (см. MSDN ). Должен быть какой-то компонент, который использует , возможно, сторонняя сборка.
...