Не взлетает дизайнер из рантайма
Демо-версия от 01.05.2009, пустое WinForms приложение, форма с кнопкой, в обработчике нажатия:
using (Report report = new Report())
report.Design();
На второй строчке выбрасывается
Что я делаю не так?System.InvalidOperationException: DragDrop registration did not succeed. ---> System.Threading.ThreadStateException: Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it.
at System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
--- End of inner exception stack trace ---
at System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
at System.Windows.Forms.TreeView.OnHandleCreated(EventArgs e)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.TreeView.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.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
at System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.TreeView.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at DevComponents.DotNetBar.DocumentDockUIManager.Dock(Bar referenceBar, Bar barToDock, eDockSide dockSide)
at DevComponents.DotNetBar.DocumentDockUIManager.Dock(Bar barToDock)
at FastReport.Design.ToolWindows.ToolWindowBase.STM9LKcQS(DockSite )
at FastReport.Design.Designer.InitPlugins()
at FastReport.Design.StandardDesigner.DesignerControl.InitPlugins()
at FastReport.Design.Designer.aH6DubDjs()
at FastReport.Design.Designer..ctor()
at FastReport.Design.StandardDesigner.DesignerControl..ctor()
at FastReport.Design.StandardDesigner.Office2007DesignerForm..ctor()
at FastReport.Report.aAAdWe5pg(Boolean , Form )
at FastReport.Report.Design(Boolean modal)
at FastReport.Report.Design()
at FastReport.Form1.button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\ххх\Мои документы\Visual Studio 2008\Projects\Reports\FastReport\Form1.cs:line 25
Комментарии
UPD: хм, был уверен, что без атрибута не будет запускаться само приложение... Ан, нет, стартует... Но все равно результат не зависит - атрибут есть/нет, дизайнера - нет.
А демка Demo.exe запускается нормально?
Собственно, виной всему оказался некий конфликт имен - обратил внимание, что мой проект и сборка по умолчанию называются FastReport, смена имени результирующей сборки на любое другое избавляет от проблемы. Я думаю, присылать что-то нет смысла, при желании Вы легко сможете воспроизвести ошибку.