Today after I compiled my winform program in Windows XP with .NET Framework 2.0, I copied the assembly to another Windows 2003 ENT Server. When I run this program in W2k3 server, nothing responded, and following message is created in Application Events.

EventType clr20r3, P1 steprecorder.exe, P2 1.0.302.0, P3 440bee00, P4 steprecorder, P5 1.0.302.0, P6 440bee00, P7 39, P8 f, P9 system.missingmethodexception, P10 NIL.

So hard-reading log message :-( what could I get from it?

I searched from Internet but got nothing useful. Seems "clr20r3..." type event could be triggerred by many reasons.

But I found that the further issue is that if a machine with VS2005 installed (whether winxp or w2k3), the program could run properly, or it will fail. It is so strange, is it a VS2005 bug?

At last I found the clause cause this issue. When I drag and drop a list view control in a form, VS2005 will auto generate the related clauses, one of them caused this failure.

            // testcaseListView
            this.testcaseListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
            this.testcaseListView.ContextMenuStrip = this.listViewContextMenuStrip;
            this.testcaseListView.Dock = System.Windows.Forms.DockStyle.Left;
            this.testcaseListView.FullRowSelect = true;
            this.testcaseListView.GridLines = true;
            this.testcaseListView.Location = new System.Drawing.Point(0, 0);
            this.testcaseListView.Name = "testcaseListView";
            this.testcaseListView.Size = new System.Drawing.Size(509, 162);
            this.testcaseListView.TabIndex = 0;
            //this.testcaseListView.UseCompatibleStateImageBehavior = false;
            this.testcaseListView.View = System.Windows.Forms.View.Details;

There is nothing in MSDN to explain this property, but say it is new in .NET 2.0.

After I comment the red one, the application program could run on other winxp/win2k3 machine successfully.