use AxImp /source c:\windows\system32\MSTSC.dll to generate the source code of AxMSTSCLib.dll(AxMSTSCLib.cs), then you can include it in your project, thus you do not need AxMSTSCLib.dll.

what’s more, you can even remove MSTSCLib.dll by manually defining the interface classes.

First of all, I would like to confirm my understanding of your issue. From
your description, I understand that when you have drag and drop a Terminal
Services Control on a windows form, a compiler error was generated. If
there is any misunderstanding, please feel free to let me know.
Based on my research, this is a known issue. The wrapper generater fails to
generate correct method for returning an enum value. Here is a workaround.

  1. md c:\temp
  2. cd c:\temp
  3. %<SDK bin directory>%\aximp.exe %windir%\system32\mstscax.dll

This will generate MSTSCLib.dll and AxMSTSCLib.dll.
Make sure Interop.MSTSCLib.dll and AxInterop.MSTSCLib.dll have been deleted
in the obj and bin\Debug directories.

  1. Copy the generated files (without renaming) - MSTSCLib.dll and
    AxMSTSCLib.dll into the project’s obj directory.
  2. In the project’s references, add MSTSCLib.dll and AxMSTSCLib.dll from
    the obj directories.
  3. Now, instead of drag-drop’ing the control from the toolbox, write code
    to add the control:

Goto Form.cs code view

Declare:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private AxMSTSCLib.AxMsTscAx axMsTscAx1; 
In InitializeComponent:
this.axMsTscAx1 = new AxMSTSCLib.AxMsTscAx();
((System.ComponentModel.ISupportInitialize)(this.axMsTscAx1)).BeginInit();
//
// axMsTscAx1
//
this.axMsTscAx1.Enabled = true;
this.axMsTscAx1.Location = new System.Drawing.Point(58, 17);
this.axMsTscAx1.Name = "axMsTscAx1"
this.axMsTscAx1.OcxState =
((System.Windows.Forms.AxHost.State)(resources.GetObject("axMsTscAx1.OcxStat
e")));
this.axMsTscAx1.Size = new System.Drawing.Size(192, 192);
this.axMsTscAx1.TabIndex = 1;
....
this.Controls.Add(this.axMsTscAx1);
((System.ComponentModel.ISupportInitialize)(this.axMsTscAx1)).EndInit();