Option Strict On disallows implicit conversions from '<type1>' to '<type2>'
You have tried to convert a type to another type that may not be able to contain the value, such as a Long to an Integer, while the type checking switch (Option Strict Statement) is set to On.
This type of conversion is called a narrowing conversion, and it is possible for it to fail at run time. For this reason, Option Strict On disallows implicit narrowing conversions.
Error ID: BC30512
To correct this error
Determine whether a conversion of any type exists from <type1> to <type2>. If both are Visual Basic elementary types, or if both are instances of classes, you can usually make this determination by consulting the table in Widening and Narrowing Conversions.
If only a narrowing conversion exists from <type1> to <type2>, you should use explicit casting. The CType Function and DirectCast keywords throw a run-time exception if the conversion fails. The TryCast keyword applies only to reference types and returns Nothing (Visual Basic) if the conversion fails.
If a narrowing conversion exists and your program can tolerate a run-time failure, or you are confident that a run-time failure is not possible, you can specify Option Strict Off at the beginning of your source code. But you should still enclose the conversion in a Try...Catch...Finally Statement (Visual Basic) block to avoid unexpected results or early termination of your program.
If no conversion exists from <type1> to <type2>, you must re-evaluate your program logic. You might be able to write code that can assign values to <type2> corresponding to anticipated values of <type1>.
If no conversion exists from <type1> to <type2> and one of the types is a class or structure you have defined, you might be able to define a conversion operator from that type to or from the other type. For more information, see How to: Define a Conversion Operator.
In all cases and as a general guideline, you should avoid using narrowing conversions unless you can trap failures in a Catch block and deal with them effectively.
See Also
Tasks
How to: Define a Conversion Operator
Concepts
Widening and Narrowing Conversions