Mostrando entradas con la etiqueta .Net y VS - Errores. Mostrar todas las entradas
Mostrando entradas con la etiqueta .Net y VS - Errores. Mostrar todas las entradas

jueves, 23 de mayo de 2024

Could not find default endpoint element that references contract

Hola, tiempo sin publicar una entrada, quisiera compartirles el error siguiente en momento de ejecución:

Could not find default endpoint element that references contract 'RutaServicio.Servicio' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.'

Como este error no se produce al compilar surge la duda de ¿Cuál es el problema entonces?, la solución, como lo dice la descripción del error, está al colocar los endpoints del servicio que estamos consumiendo en el config del proyecto con que arranca nuestra solución y no solo en el proyecto donde se está consumiendo el servicio web, les dejo un ejemplo el cual se colocó en el App.config:



martes, 28 de noviembre de 2023

ANCM In-Process Handler Load Failure - HTTP Error 500

¿Que tal?, después de un rato sin publicar les traigo este error que generalmente nos encontramos cuando queremos publicar una API en el IIS, aunque parece estar todo en orden surge el error al navegar en el browser de la publicación: ANCM In-Process Handler Load Failure

Para saber si lo que te hace falta es descargar e instalar dotnet ubicate en la ruta de tu dll por ejemplo: "C:\inetpub\wwwroot\MiAPI" y ejecuta el siguiente comando desde consola: dotnet tuaplicación.dll, si no se ejecuta entonces debes instalar la versión de dot net que corresponde a tu aplicación en tu equipo/servidor.

Con eso podrás correr la aplicación en el IIS, espero les sirva, saludos!.

miércoles, 5 de julio de 2023

log4net no genera o escribe el log

Últimamente he utilizado esta herramienta para pintar los logs en mis desarrollos, en su uso me he topado que después de tener toda la programación y archivos necesarios configurados sigo sin poder ver mis logs, esto se debe a que debemos hacer algo más con la ayuda de la ventana de propiedades de Visual Studio, esto es aplicar el Copy to Output Direct en True o en 1 que es lo mismo, tal como se ve en la imagen abajo, espero esto les ayude a saber porque a pesar de tener todo montado correctamente aún no lograban escribir sus logs.



¡¡Saludos!!

domingo, 26 de marzo de 2023

This SqlTransaction has completed; it is no longer usable

¿Qué tal?, les cuento que al realizar transacciones con SqlCommand, me surgía el siguiente error: This SqlTransaction has completed; it is no longer usable, mi tarea hacia inserción en tres tablas, una cabecera y dos de detalle, pero en la segunda inserción aparecía el error.

Si bien, la transacción se realizaba, pues note que los inserts si se realizaban en las tres tablas, la rutina marcaba una excepción y eso no me gustaba, por lo que decidí investigar y hacer pruebas para encontrar que lo provocaba, la respuesta fue que después de hacer un commit o un rollback en la transacción, debe inicializarse una nueva transacción de lo contrario estaremos "reutilizando" una que ya había llegado a su fin, para hacerlo solo debí como les dije inicializar de esta manera mi nueva transacción:

 SqlTransaction transaction = sqlConn.BeginTransaction();}

¡Saludos! 

lunes, 13 de marzo de 2023

Incorrect sintaxis near the keyword for

Hola!; ¿Qué tal?, 

Les traigo ahora un error "incorrect sintaxis near the keyword for" el cual se me presento al utilizar el SAPbobsCOM.Recordset, lo problemático de esto sucede por que en apariencia la consulta estaba bien y me corría perfectamente en SQL Server,  investigando supe que este objeto no reconoce la sintaxis tal cual la hacemos para el motor de la BD, en mi caso fue el punto y coma que estaba de màs, ejemplo: oRecordSet.DoQuery("SELECT * from OCRD;");

En conclusión veremos este error cuando algo en nuestra consulta no lo este interpretando de manera correcta el DoQuery, así que cuidado con eso.

¡Saludos!

domingo, 12 de marzo de 2023

Method not found: 'Void SAPConector.DTO.DTOIncomingPayments.set_ObjectType(SAPbobsCOM.BoObjectTypes)'

¿Cómo están?, les traigo el error siguiente que me dio por un rato dolor de cabeza: Method not found: 'Void SAPConector.DTO.DTOIncomingPayments.set_ObjectType(SAPbobsCOM.BoObjectTypes)'.

Este apareció una vez que mi aplicación la pase desde mi ambiente de desarrollo a mi ambiente de pruebas, este error se mostraba en tiempo de ejecución, a la mitad del proceso lo enviaba y no terminaba la tarea.

La solución después de investigar y ver varios portales que no me dieron la respuesta especifica pero si el camino a seguir para resolverlo fue esta:

ANTES Entremos en contexto:

Mi proyecto hace referencia a una dll que ocupa la misma dll que también ocupo en mi proyecto principal en mi caso la de SAP B1 SAPbobsCOM.

1er Error: Los tipos de datos de mi librería cambiaban a Object al hacer referencia a ella desde mi proyecto principal, tipos de datos que comentamos al inicio pertenecen a la dll SAPbobsCOM, de hecho el error muestra un ejemplo: SAPbobsCOM.BoObjectTypes.

  esto hacía que cuando llamaba la librería (dll) a mi proyecto principal los tipos de algunos atributos no se mantuvieran en su forma original si no que se convirtieran en tipos object por lo que mi proyecto principal no los reconocía y me marcaba error de compilación.

Solución al 1er error: Coloque en False Embed Interop Types en las propiedades de la referencia de mi proyecto de librería.


2do. Error: Los tipos ya son reconocidos en mi proyecto principal después de colocar en false la opción  ya no marca error en compilación pero al momento de ejecutar la solución principal en el servidor de pruebas marca un error en tiempo de ejecución: Method not found: 'Void SAPConector.DTO.DTOIncomingPayments.set_ObjectType(SAPbobsCOM.BoObjectTypes)'.

Solución al 2do error: De igual manera en que coloque Embed en Interop Types de mi librería, también debí colocarlo en false en mi proyecto principal:

3er. Error: al hacer esto me marcaba el siguiente error al ejecutar mi programa: Retrieving the COM class factory for component with CLSID {632F4591-AA62-4219-8FB6-22BCF5F60100} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) .

Solución al 3er. Error: Debi quitar el check en Prefer 32-bit y tomar la opción de x64 en Platform target, esto por que inicialmente estaba chequeado y el target estaba en Any, cabe mencionar que el servidor donde ejecutaba mi solución era de 64 bits.


Por aquí les dejo el link para documentarse más sobre el tema de Type equivalence and embedded interop types en la página oficial de Microsoft.

Con esto mi solución trabajo sin contratiempos 😀. Saludos!.




jueves, 9 de marzo de 2023

Retrieving the COM class factory for component with CLSID {XXXX} Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

El siguiente error se me presento al pasar del ambiente de desarrollo (donde todo funcionaba correctamente) al ambiente de pruebas: Retrieving the COM class factory for component with CLSID {632F4591-AA62-4219-8FB6-22BCF5F60100} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Después de tanto buscar el error lo solucione quitando el siguiente check del proyecto en Visual Studio, ya que esto hacia que le diera preferencia a 32bits al compilar y donde llevaba mi desarrollo era a un ambiente de 64bits.


Consideren que si su proyecto hace referencia a otros proyectos, posiblemente también tengan que quitar este check en los demás proyectos. Espero les ayude.

Saludos.

martes, 1 de noviembre de 2022

The remote certificate is invalid according to the validation procedure

Probando un Endpoint desde Postman de un proyecto API que estaba corriendo desde Visual Studio, al momento de querer utilizar la clase MemoryStream para posteriormente deserializar un response a formtato json, me marco el siguiente error:

The remote certificate is invalid according to the validation procedure

Después de buscar por que sucedía esto encontré la siguiente línea de código que nos ayuda a validar nuestro certificado, en mi caso una url alojada en mi propio ambiente local, espero les pueda ayudar:

ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };

Les dejo también parte de la documentación que nos explica como funciona esta propiedad y el enlace a la página oficial de Microsoft:

"Una aplicación puede establecer la ServerCertificateValidationCallback propiedad en un método que se usará para la validación personalizada por parte del cliente del certificado de servidor. Al realizar la validación personalizada, el sender parámetro pasado a RemoteCertificateValidationCallback puede ser un nombre de cadena de host o un objeto derivado de WebRequest.

Cuando no se usa la validación personalizada, el nombre del certificado se compara con el nombre de host usado para crear la solicitud. Por ejemplo, si Create(String) se pasó un parámetro de "https://www.contoso.com/default.html", el comportamiento predeterminado es para que el cliente compruebe el certificado con www.contoso.com.

Más información: ServicePointManager.ServerCertificateValidationCallback Propiedad

domingo, 20 de diciembre de 2020

-10 The specified resource name cannot be found in the image file.

Este error sucede por que  los datos de conexión a la BD están incorrectos, en mi caso, la licencia es la que marcaba el error:


sábado, 19 de diciembre de 2020

Clase no registrada (0x80040154 (REGDB_E_CLASSNOTREG)).

Queriendo correr mi proyecto del DI API me mostraba el siguiente error: Retrieving the COM class factory for component with CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} failed due to the following error: 80040154 Clase no registrada (0x80040154 (REGDB_E_CLASSNOTREG)). 

Y luego el siguiente: Failed to connect or logon to SLD, please check connection parameters and configure file.

Este error se presenta por que intentamos correr la aplicación en una arquitectura distinta a la del sistema donde está instala el DI API:

Para resolver ambos errores coloque en mi caso en el Debug y en las Propiedades de mi proyecto - Compilar - CPU de destino: x64





Espero les ayude con esto, Saludos!.

El servidor web está configurado para no mostrar una lista los contenidos de este directorio.

Hola!, estaba trabajando en la instalación del Visual Studio para echar a andar el DI API y UI API y me surgió el siguiente problema:

Problema: El servidor web está configurado para no mostrar una lista los contenidos de este directorio.

Causas más probables: No se ha configurado un documento predeterminado para la dirección URL solicitada y el examen de directorios no está habilitado en el servidor.

Qué puede intentar: Si no desea habilitar el examen de directorios, asegúrese de que se configura un documento predeterminado y de que el archivo existe.

Habilite el examen de directorios.

Vaya al directorio de instalación de IIS Express.

Ejecute appcmd set config /section:system.webServer/directoryBrowse /enabled:true para habilitar el examen de directorios en el servidor.

Ejecute appcmd set config ["NOMBRE_SITIO"] /section:system.webServer/directoryBrowse /enabled:true para habilitar el examen de directorios en el sitio.

Solución (Aquí lo importante, haga lo siguiente):

1.- En la consola cmd: appcmd set config /section:directoryBrowse /enabled:true

2.- En el Web config: coloque lo siguiente:  <directoryBrowse enabled="true" /> <modules runAllManagedModulesForAllRequests="true" /> dentro de las etiquetas de <system.webServer> </system.webServer>

lunes, 7 de septiembre de 2020

Error - Could not load file or assembly 'App_Code' or one of its dependencies.

Hoy publicando un sitio web en el IIS, me surgió este error:

Could not load file or assembly 'App_Code' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

En mi búsqueda por Internet encontré varias posibles soluciones... ni una me ayudo, entonces recordé que algo que siempre nos puede causar problemas al desplegar en el IIS es la versión del Framework en el Pools de la aplicación ya que siempre elige la V2 por defecto.


Elegí la v4 y Vualá!... hasta la próxima!.

martes, 28 de julio de 2020

Request format is unrecognized for URL unexpectedly ending - Web Services

Al montar mi sitio para visualizar mis web services me arrojaba este error al dirigirme al asmx: Request format is unrecognized for URL unexpectedly ending

Para solucionarlo sigamos estos pasos:
1. Abra el archivo web Config con Notepad o el editor de texto de su preferencia.
2. Agregue la etiqueta <webServices> dentro de la de <System.Web> de la siguiente manera:

<system.web>
 <webServices>
   <protocols>
       <add name="HttpGet"/>
       <add name="HttpPost"/>
   </protocols>
</webServices>


3. Guarde y reemplace su archivo web.config. 
Esto define los protocolos utilizados para transmitir datos durante la comunicación entre los clientes del servicio web XML y de los servicios web XML creados desde nuestra aplicación.
Saludos!.


domingo, 10 de mayo de 2020

Esta versión de Windows no es compatible con el producto. pruebe a actualizar Windows

Pareciera que al pasar el tiempo sin desarrollar con nuevas tecnologías no pegaría, pero la primera con la que me encontré inmediatamente fue con que mi sistema operativo no era compatible con Visual Estudio 2019, el mensaje que me arrojaba era el siguiente:

Esta versión de Windows no es compatible con el producto. pruebe a actualizar Windows.

Por lo que lo único que pudo arreglar este detalle, fue descargar e instalar la ultima actualización de mi sistema operativo Windows 10, en mi caso no pedía respaldo de mis datos.

Les dejo la liga de descargas para poner fin a este error de compatibilidad:  https://www.microsoft.com/en-us/software-download

Saludos!.

martes, 16 de agosto de 2016

No se pudo tener acceso a la metabase de IIS - No Carga Proyecto Web



Desarrollando estaba y un cambio en el sistema necesitaba, la sorpresa fue que mi proyecto WEB en mi solución no cargaba!! xD, los proyectos de bibliotecas de clases sin ni un problema lo hacían, curiosamente este problema surgió después de Actualizar Office y SO Windows.





Al querer cargar el proyecto desde la solución me enviaba este error: No se pudo tener acceso a la metabase de IIS.

VS me enviaba este mensaje al abrirlo:


Buscando encontré que la solución era ejecutar a través del cmd el Framework necesario en mi caso bajo la siguiente ruta:

C:\Windows\Microsoft.NET\Framework\v4.0.30319 aspnet_regiis -i 

Con esto el sistema instalaba la versión que necesitaría, pero no fue así pues me envío el siguiente error:

" Utilidad de administración que instala y desinstala ASP.NET en el equipo local
Esta opción no es compatible con esta versión del sistema operativo. Los administradores deben instalar o desinstalar ASP.NET 4.5 con IIS8 a través del cuadro de dialogo "Activar o desactivar las caracteristicas de Windows", la herramienta administrador del servidor.
Finalizó la instalación de ASP.NET"

Con esto sin duda alguna supe cual era la solución, imagino ustedes también, debemos desactivar y volver a activar la característica de Windows "IIS" instalando así todo lo necesario para esta nueva versión de Windows (en mi caso de 7 a 10), por si no saben donde es esto, lo resumo en una imagen.



Espero les sea de utilidad.
Saludos!.