I understand that may be my code is correct and problem from other things. Based on that, I find the problem and solve it that I describe solution as follows:
If the assembly file is registered in the GAC and assembly file codes change again, and assembly file re-compiles, and we want to add new recompiled assembly file to Visual Studio toolbox, this error will occur. The reason of occurring this error is that new recompiled assembly file, registered in GAC before and registered assembly file in GAC is different with it. So, new recompiled assembly file must be registered again in GAC.
Now, If add registered assembly file in GAC or new recompiled assembly file to the Visual Studio toolbox, this error will never occur.
Another tip that must be considered, is deleting or commenting following line of code in AssemblyInfo.cs file:
[assembly: System.Security.AllowPartiallyTrustedCallers]
And now, it will work correctly.