Autor Tema: Conociendo Visual Studio  (Leído 2948 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Jackass

  • Moderator
  • *
  • Mensajes: 49
  • Agradecimientos: 25
  • Developer.-
  • Cronica: : C4 a H5
  • Revision: -
  • S.O: Windows Server 2008
  • Serverpack : aCis;L2Off
Conociendo Visual Studio
« on: Junio 27, 2014, 03:11:19 pm »
Hola a todos. En esta ocasion vamos a conocer un poco mas visual studio el entorno. No le pongo una version especifica porque generalmente son todas iguales. Varian en cosas de manejo pero no en entorno.



Empezaremos creando una SOLUCION vacia:

Iremos a FILE o ARCHIVO -> Nuevo -> Proyecto o Proyect:



Aqui veremos todas las opciones de proyectos que podemos crear, esto dependera de que version y que cosas le hayan instalado al Visual Studio. Haremos click donde vemos en la siguiente imagen y creamos una solucion en blanco con el nombre que quieran, yo la llamare adminsproL2:



Veran algo como esto:



Pueden que vean las cosas distintas como ventanas en la parte inferior, en mi caso, mi workbench o mesa de trabajo la edite a gusto y hice visibles o no las ventanas. Al lado de la cruz veran como una chinche si la apretan las ventanas se abren unicamente si hacen click en sus nombres (parte inferior, izquierda o derecha, depende donde la tengan) y si vuelven a hacer click quedara fija.

Lo que quiero que vean aqui, es que una solucion es un conjunto de proyectos ¿Pero no acabamos de crear un proyecto? Si, solo el "trasfondo", ahora veremos como crear un proyecto en el cual trabajar en C#

Iremos a la solucion, click derecho, agregar -> Nuevo Proyecto:



En mi caso, voy a crear una simple aplicacion de consola. Mas adelante les mostrare como crear aplicaciones de windows.

Data importante: En una solucion puedes crear N proyectos, websites. La solucion es el conjunto de referencias (buscar en google o en una guia mia futura), las cuales estan dentro o no de la solucion. Lo que logra esto es evitar tener que estar cambiando de proyecto cada vez que necesitemos editar por ejemplo una dll que use nuestro sistema.

Hacemos click en visual C# y luego en console application, como nombre le voy a dejar el defecto:



Se creara una ventana como la siguiente:



Aqui tendremos nuestra estacion de trabajo.  Se puede editar desde Vista (view)-> Toolbars. Alli pueden añadirle mil y un botones que actualmente yo no uso, me manejo con atajos. Que dare al final del post, pero para interesados, por ejemplo Control + K y luego sin soltar control apretar la D. Te auto tabula el codigo de forma correcta. Hay un boton para eso en ese menu, que yo actualmente no uso, al igual que para agregar comentarios.

Bueno, aqui haremos un pequeño codigo y le mostrare lo minimo que necesitan saber para manejarse en el entorno


Pondremos este codigo dentro del main: (el que quiera saber que es esa funcion, busquela en google. Practicamente es el comienzo del programa)

Código: [Seleccionar]
Console.WriteLine("Hola AdminsPro! ");
            Console.WriteLine("Este es un simple programa de mensaje.");
            Console.ReadKey();

Una vez agregado este codigo haremos click en el siguiente boton:



Que hace ese boton? Empieza el programa y lo debugea. El atajo rapido es F5.

A la derecha de este boton, veran que dice "Debug" este boton alterna entre el tipo de version del programa que vos quieras manejar. Si la debug (en estado de desarrollo y prueba, por eso debug, se cree que vos necesitas seguir trabajando en la aplicacion porque no es estable y tiene fallos. Mas info en google) y el release (version final y con capacidad de publicacion). Calculo que describiendo mas o menos que son pueden decidir ustedes mismos que usar. Aunque yo siempre uso DEBUG que codeo. Muy pocas veces tuve que cambiar a release, generalmente cuando codeo DLL's.

A la izquierda veran botones de guardar todo, guardar el archivo, abrir, etc. Calculo que alguna vez usaron el Word y entienden que son.

Por la derecha el unico boton que realmente importa es el buscar. Es el que tiene una carpeta y una lupa.

Saltemos a la parte inferior. Generalmente aqui se encuentra el OUTPUT y el ERROR LIST.

Error list, es la lista de errores, avisos y sugerencias que visual studio te proporciona. Logicamente los errores son perfectos por si mismos, las warning y sugerencias les daria la duda.
El output, muestra mensajes a la hora de compilar. Si ya has apretado F5 acabas de comprobar que te da mensajes detallando que esta haciendo el compilador.

En esta seccion en zona de debug aparece una ventana llamada Inmediata o Inmmediate. Mas adelante la veremos y nos daremos cuenta que es nuestra salvacion en ciertas ocasiones.

Por ahora, terminaremos este post aqui. Hoy no dispongo mas tiempo asi que nos vemos la proxima.


Saludos.
« Última Modificación: Junio 28, 2014, 07:24:53 pm por Jackass »
Si necesitas un developer, contacta a mi skype.

Desconectado Hefester

  • Grado B
  • *
  • Mensajes: 280
  • ar
  • Agradecimientos: 75
  • Cronica: : GF
  • Revision: -
  • S.O: Windows 10
  • Serverpack : L2JServer
Re:Conociento Visual Studio
« Respuesta #1 on: Junio 27, 2014, 05:29:34 pm »
Muy útil   ;D

Desconectado Jackass

  • Moderator
  • *
  • Mensajes: 49
  • Agradecimientos: 25
  • Developer.-
  • Cronica: : C4 a H5
  • Revision: -
  • S.O: Windows Server 2008
  • Serverpack : aCis;L2Off
Re:Conociento Visual Studio
« Respuesta #2 on: Junio 27, 2014, 05:33:36 pm »
Muy útil   ;D

Gracias, acabo de agregar una data importante que me olvide de mencionar sobre las soluciones de vs.
Si necesitas un developer, contacta a mi skype.

Desconectado Hefester

  • Grado B
  • *
  • Mensajes: 280
  • ar
  • Agradecimientos: 75
  • Cronica: : GF
  • Revision: -
  • S.O: Windows 10
  • Serverpack : L2JServer
Re:Conociento Visual Studio
« Respuesta #3 on: Junio 27, 2014, 05:34:57 pm »
Perfecto ;D

Desconectado Jackass

  • Moderator
  • *
  • Mensajes: 49
  • Agradecimientos: 25
  • Developer.-
  • Cronica: : C4 a H5
  • Revision: -
  • S.O: Windows Server 2008
  • Serverpack : aCis;L2Off
Re:Conociendo Visual Studio
« Respuesta #4 on: Junio 28, 2014, 07:28:01 pm »
Atajos rapidos para Visual Studio 2013 (pueden servir en versiones anteriores):

Link
Si necesitas un developer, contacta a mi skype.

Conectado Dandiarena

  • Grado S84
  • *
  • Mensajes: 1304
  • ar
  • Agradecimientos: 490
  • SOPORTE TÉCNICO PROFESIONAL
    • L2DANDIARENA.COM
  • Cronica: : C4,INT
  • Revision: 2021
  • S.O: Windows Server 2008
  • Serverpack : L2DANDIARENA.COM
Re:Conociendo Visual Studio
« Respuesta #5 on: Junio 28, 2014, 07:37:26 pm »
Cuando lo estudie en el colegio, lo odiaba, pero ahora ya es otro tema...

Desconectado hugoblood

  • Grado D
  • *
  • Mensajes: 76
  • 00
  • Agradecimientos: 12
  • Cronica: : C3-C4-C6-GF
  • Revision: L2off
  • S.O: Sin seleccionar / Not choosen
  • Serverpack : L2off
Re:Conociendo Visual Studio
« Respuesta #6 on: Agosto 22, 2019, 12:00:52 pm »
Buenas, Una consulta, estoy compilando un proyecto de DLL de smeli y tengo un error de link, que no puedo resolver, algún experto que me ayude a resolver porfa. comparto el log del error de compilación. utilizo Visual Studio 2008 C++

Este es el error
Código: [Seleccionar]
Creando biblioteca D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].lib y objeto D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].exp
L2ExtensionProject.obj : error LNK2001: símbolo externo "double __cdecl getExpPercent(int,int)" (?getExpPercent@@YANHH@Z) sin resolver
D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].dll : fatal error LNK1120: 1 externos sin resolver

Código: [Seleccionar]
Registro de la compilación

 

Se inició Volver a generar: proyecto: L2ExtensionProject, configuración: Release|Win32

Líneas de comandos
 

Creando archivo temporal "d:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\RSP00001323442672.rsp" con contenido
[
/Ox /Oi /Ot /GT /GL /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_USRDLL" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHa /MD /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Zi /TP  /D_USE_MATH_DEFINES /D_SCL_SECURE_NO_WARNINGS

".\Shared.cpp"

".\Perfmon.cpp"

".\Lin2db.cpp"

".\L2Server.cpp"

".\L2ExtLog.cpp"

".\L2ExtensionProject.cpp"

".\IniFile.cpp"

".\Globals.cpp"

".\ExUser.cpp"

".\ExDoor.cpp"

".\DoorGeo.cpp"

".\CTrade.cpp"

".\CShortcut.cpp"

".\CParty.cpp"

".\CItem.cpp"

".\CInventory.cpp"

".\CCreature.cpp"

".\SendPacket.cpp"

".\BasePacket.cpp"

".\TCPServerSocket.cpp"

".\TCPClientSocket.cpp"

".\TCPBaseSocket.cpp"

".\Lines.cpp"

".\Privilegies.cpp"

".\String.cpp"

".\PacketReader.cpp"

".\memoryFuncs.cpp"

".\l2hash.cpp"

".\JString.cpp"

".\BufferWriter.cpp"

".\NewSkillz.cpp"

".\AVE.cpp"

".\L2Saviors2.cpp"

".\L2Saviors.cpp"

".\L2Classic.cpp"

".\GD4Epeisodion.cpp"

".\GD3Lindvior.cpp"

".\GD2Tauti.cpp"

".\GD1Harmony.cpp"

".\GD1Awakening.cpp"

".\CT2XHigh5.cpp"

".\CT2XFreya.cpp"

".\CT2Vehicles.cpp"

".\CT2Plus.cpp"

".\CT2GraciaF2.cpp"

".\CT2GraciaF.cpp"

".\CT2Gracia2.cpp"

".\CT1Kamael.cpp"

".\C6Interlude.cpp"

".\C5Oath.cpp"

".\C4Scions.cpp"

".\C3Rise.cpp"

".\C2Spledor.cpp"

".\C1Harbringers.cpp"

".\UserCommand.cpp"

".\macros.cpp"

".\Party.cpp"

".\PVP.cpp"

".\Patches.cpp"

".\ItemRates.cpp"

".\Fixes.cpp"

".\CombatPoints.cpp"

".\AutoSS.cpp"
]
Creando línea de comandos "cl.exe @"d:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\RSP00001323442672.rsp" /nologo /errorReport:prompt"
Creando archivo temporal "d:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\RSP00001423442672.rsp" con contenido
[
/OUT:"D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].dll" /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:"Release\L2EP[Elhaym].dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /SUBSYSTEM:WINDOWS /LARGEADDRESSAWARE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE:NO /MACHINE:X86 Ws2_32.lib pdh.lib

 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\Release\AutoSS.obj"

".\Release\CombatPoints.obj"

".\Release\Fixes.obj"

".\Release\ItemRates.obj"

".\Release\Patches.obj"

".\Release\PVP.obj"

".\Release\Party.obj"

".\Release\macros.obj"

".\Release\UserCommand.obj"

".\Release\C1Harbringers.obj"

".\Release\C2Spledor.obj"

".\Release\C3Rise.obj"

".\Release\C4Scions.obj"

".\Release\C5Oath.obj"

".\Release\C6Interlude.obj"

".\Release\CT1Kamael.obj"

".\Release\CT2Gracia2.obj"

".\Release\CT2GraciaF.obj"

".\Release\CT2GraciaF2.obj"

".\Release\CT2Plus.obj"

".\Release\CT2Vehicles.obj"

".\Release\CT2XFreya.obj"

".\Release\CT2XHigh5.obj"

".\Release\GD1Awakening.obj"

".\Release\GD1Harmony.obj"

".\Release\GD2Tauti.obj"

".\Release\GD3Lindvior.obj"

".\Release\GD4Epeisodion.obj"

".\Release\L2Classic.obj"

".\Release\L2Saviors.obj"

".\Release\L2Saviors2.obj"

".\Release\AVE.obj"

".\Release\NewSkillz.obj"

".\Release\BufferWriter.obj"

".\Release\JString.obj"

".\Release\l2hash.obj"

".\Release\memoryFuncs.obj"

".\Release\PacketReader.obj"

".\Release\String.obj"

".\Release\Privilegies.obj"

".\Release\Lines.obj"

".\Release\TCPBaseSocket.obj"

".\Release\TCPClientSocket.obj"

".\Release\TCPServerSocket.obj"

".\Release\BasePacket.obj"

".\Release\SendPacket.obj"

".\Release\CCreature.obj"

".\Release\CInventory.obj"

".\Release\CItem.obj"

".\Release\CParty.obj"

".\Release\CShortcut.obj"

".\Release\CTrade.obj"

".\Release\DoorGeo.obj"

".\Release\ExDoor.obj"

".\Release\ExUser.obj"

".\Release\Globals.obj"

".\Release\IniFile.obj"

".\Release\L2ExtensionProject.obj"

".\Release\L2ExtLog.obj"

".\Release\L2Server.obj"

".\Release\Lin2db.obj"

".\Release\Perfmon.obj"

".\Release\Shared.obj"
]
Creando línea de comandos "link.exe @"d:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\RSP00001423442672.rsp" /NOLOGO /ERRORREPORT:PROMPT"

Ventana Resultados
 

Compilando...
Shared.cpp
Perfmon.cpp
Lin2db.cpp
L2Server.cpp
L2ExtLog.cpp
L2ExtensionProject.cpp
IniFile.cpp
Globals.cpp
ExUser.cpp
ExDoor.cpp
DoorGeo.cpp
CTrade.cpp
CShortcut.cpp
CParty.cpp
CItem.cpp
CInventory.cpp
CCreature.cpp
SendPacket.cpp
BasePacket.cpp
TCPServerSocket.cpp
Compilando...
TCPClientSocket.cpp
TCPBaseSocket.cpp
Lines.cpp
Privilegies.cpp
String.cpp
PacketReader.cpp
memoryFuncs.cpp
l2hash.cpp
JString.cpp
BufferWriter.cpp
NewSkillz.cpp
AVE.cpp
L2Saviors2.cpp
L2Saviors.cpp
L2Classic.cpp
GD4Epeisodion.cpp
GD3Lindvior.cpp
GD2Tauti.cpp
GD1Harmony.cpp
GD1Awakening.cpp
Compilando...
CT2XHigh5.cpp
CT2XFreya.cpp
CT2Vehicles.cpp
CT2Plus.cpp
CT2GraciaF2.cpp
CT2GraciaF.cpp
CT2Gracia2.cpp
CT1Kamael.cpp
C6Interlude.cpp
C5Oath.cpp
C4Scions.cpp
C3Rise.cpp
C2Spledor.cpp
C1Harbringers.cpp
UserCommand.cpp
macros.cpp
Party.cpp
PVP.cpp
Patches.cpp
ItemRates.cpp
Compilando...
Fixes.cpp
CombatPoints.cpp
AutoSS.cpp
Vinculando...
   Creando biblioteca D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].lib y objeto D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].exp
L2ExtensionProject.obj : error LNK2001: símbolo externo "double __cdecl getExpPercent(int,int)" (?getExpPercent@@YANHH@Z) sin resolver
D:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\L2EP[Elhaym].dll : fatal error LNK1120: 1 externos sin resolver

Resultados
 

El registro de compilación se guardó en el "file://d:\MSV2008\Source smeli c1-classic 2018\xtender_source\l2server\Release\BuildLog.htm"
L2ExtensionProject - 2 errores, 0 advertencias

« Última Modificación: Agosto 22, 2019, 12:04:42 pm por hugoblood »

Desconectado Kimeraweb

  • AdminSite
  • *
  • Mensajes: 2540
  • de
  • Agradecimientos: 844
  • Kimeraweb
    • http://l2devsadmins.net
  • Cronica: : Alfa
  • Revision: Alfa
  • S.O: Windows 10
  • Serverpack : Desarrollo interno
Re:Conociendo Visual Studio
« Respuesta #7 on: Septiembre 01, 2019, 03:35:32 am »
Sin ser experto sólo con ánimo de aportar algo a la solución:

1.- Falta la librería(error de síntaxis) o no ha sido importada
https://codeday.me/es/qa/20190304/277380.html

2.- Al declarar el método, hay que declarar el objeto:
https://social.msdn.microsoft.com/Forums/es-ES/cb4b3d7e-4958-4eb3-85a0-81f1955d0d60/error-lnk2019?forum=vcppes

3.- Intentar compilar como C en lugar de como C++:
https://foro.elhacker.net/programacion_cc/solucionado_error_en_visual_studio_2013_al_enlazar_con_los_binarios_de_glfw-t435111.0.html


Entre las opciones, me inclino por un fallo en la de síntexis, el método no existe o la librería no ha sido importada.
"Sólo existen dos días al año en los que no se puede hacer nada: ayer y mañana" (Dalai Lama)

Desconectado hugoblood

  • Grado D
  • *
  • Mensajes: 76
  • 00
  • Agradecimientos: 12
  • Cronica: : C3-C4-C6-GF
  • Revision: L2off
  • S.O: Sin seleccionar / Not choosen
  • Serverpack : L2off
Re:Conociendo Visual Studio
« Respuesta #8 on: Septiembre 01, 2019, 09:16:43 am »
buenas, muchas gracias, no se me habia ocurrido esta opción
Cita
3.- Intentar compilar como C en lugar de como C++:
bueno ahora pruebo y te digo como me fue. muchas gracias por la idea, porque esta todo declarado tanto en el .cpp como en la cabecera .h.-

Desconectado 0samita

  • No Grade
  • *
  • Mensajes: 38
  • 00
  • Agradecimientos: 1
    • Lineage 2 Interlude - Fëanor
  • Cronica: : Interlude
  • S.O: Windows Server 2016
  • Serverpack : AdvExt Interlude Rem
Re:Conociendo Visual Studio
« Respuesta #9 on: Abril 25, 2020, 10:02:56 pm »
Están todas las imágenes caídas.