En el primer If, donde pones:
Código:
Do
If num Mod i = 0 Then resultado = 0
Elseif resto(numero) Then
resultado = 1
End if
End if
Loop Until i = num
Te da error por que tienes dos "end if" , cuando solo deberías tener uno. Lo que sucede es que el "elseif" se cierra con el mismo End If.
En el segundo If.
Código:
If resto(numero) = 0 Then System.Console.WriteLine("El numero {0} no es primo", numero)
else If resto(numero) = 1 Then System.Console.WriteLine("El numero {0} es primo", numero)
End If
Estas evaluando una única condición así que puedes hacerlo igualmente con un "elseif"
así
Código:
if resto(numero) = 0 then
System.Console.WriteLine("El numero {0} no es primo", numero)
elseif resto(numero) = 1 then
System.Console.WriteLine("El numero {0} es primo", numero)
endif
o con 2 if sería:
Código:
if resto(numero) = 0 then
System.Console.WriteLine("El numero {0} no es primo", numero)
else 'Aquí no va ninguna expresion'
if resto(numero) = 1 then
System.Console.WriteLine("El numero {0} es primo", numero)
end if
end if