Quiero aprender ArcObjects y he decidido usar C# en lugar de VB como mi lenguaje. Sé que arcpy utiliza la versión 2.7 de Python. Si hubiera comenzado a aprender Python 3.2 para aprender arcpy, estoy seguro de que habría tenido problemas. No quiero tener problemas adicionales al aprender C#. ¿Qué versión de C# debería aprender?
Respuestas
¿Demasiados anuncios?ESRI recomienda usar el Service Pack 1 de Microsoft .NET Framework 3.5 para la versión 10 y superior:
Como puedes ver en esta publicación ¿Cuáles son los números de versión correctos para C#? debes aprender C# 3.0.
También tienen instrucciones para usar .NET 4.0 o 4.5 si desea aprovechar las nuevas características del lenguaje:
Soporte .NET 4.0 y 4.5 para desarrolladores de ArcGIS 10.2 Desktop y Engine
El único cambio que necesita hacer es editar ArcMap.exe.config (o el .exe.config relevante para la aplicación que está extendiendo) y cambiar:
por:
Esto hace que ArcMap cargue el tiempo de ejecución v4, que admite directamente ensamblados .NET 4.0 y 4.5 y también permite que el tiempo de ejecución v2 se cargue junto a los ensamblados .NET 3.5 y anteriores.
Sin embargo, como dice Katah, ESRI recomienda usar .NET 3.5 para complementos. Al menos una razón para esto es que los complementos no requieren un programa de instalación para instalarlos y por lo tanto no hay necesariamente una forma de verificar que .NET 4 o 4.5 esté instalado y que ArcMap esté configurado para usarlo al distribuir su complemento.