The ‘contract’ attribute is invalid – The value ‘….’ is invalid according to its datatype ‘clientContractType’ – The Enumeration constraint failed.

Para  solucionar este error cuando tenemos servicios web importados como referencia en una dll y queremos reusarlos debemos hacer 2 procesos:

  1. Llevar la configuracion del servicio de la referencia (App.config) a el cliente que este utilizandolo ya sea  Windows Service, Web , WPF o algo similar que use esa DLL para utilizat las referencias web que estan dentro de ella y poner esa configuracion en su respectivo config.
  2. Seguir los siguientes pasos en cada referencia web a utilizar:
  • En la Solution del proyecto, busca el proyecto que tiene las referencias web y en cada referencia web click derecho seleccionar ‘Configure Service Reference’.
  • Te mostrará las configuraciones del servicio, des-selecciona ‘Reuse types in referenced assemblies’ y  click en ok.
  • Rebuild the project.

ReCompile otravez y ya su referencia podra ser usada  en otro  proyecto.

Advertisements

Errores al crear un proyecto en Xamarin despues de instalar VS2017.

Cuando pase este tipo de error en VS2017 al crear un proyecto de Xamarin Forms :

Severity Code Description Project File Line Suppression StateSeverity Code Description Project File Line Suppression StateError The “Xamarin.Forms.Build.Tasks.GetTasksAbi” task could not be loaded from the assembly C:\Users\xxx\.nuget\packages\xamarin.forms\3.0.0.482510\build\netstandard2.0\Xamarin.Forms.Build.Tasks.dll. Could not load file or assembly ‘netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51’ or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. SoftStoreMobile.Android

Como es de esperarse al trabajar con Xamarin instalar un ambiente de desarrollo algunas veces se torna tortuoso, pero afortunadamente tiene muy buena comunidad que ayudan a encontrar soluciones, para este error solo es hacer un Downgrade( bajar la version) de la libreria Xamarin Forms, se puede hacer via Nuget de la  solución.

Es decir en mi caso funcionó bajarlo de la  3.x.x.xxx a la 2.5.1.527436

Capture

Luego debe pasar el siguiente error al compilar:

Severity Code Description Project File Line Suppression StateSeverity Code Description Project File Line Suppression StateError The target “CssG” does not exist in the project. SoftStoreMobile.Android

Para ello movemosla versión del Android en  Application, esto lo encontramos dando click derecho en el proyecto android.

Para ello movemosla versión del Android Manifest en  Android Manifest como lo muestra la imagen, esto lo encontramos dando click derecho en el proyecto android.

android manifest

Despues de esto debe compilar y funcionar sin problemas.

Ya el problema será  para correr la app en el emulador de Visual Studio por que  levanta el emulador pero no hace deploy y ps mucho menos inicia la app, para esto hacemos el siguiente truquito algo friki, supongo que la mayoria de ustede saben que el emulador de visual studio corre bajo Hyper-V, lo primero es abrir Hyper-V Manager y apagar el emulador si lo tiene iniciado, luego click derecho sobre la instancia del emulador en hyper-v , luego click en Settings.

hyper-emu

Luego ir a processor y elegir compatibility, luego habilitar el check “Migrate to a physical computer with a different processor version”  en mi caso  se ve asi por que mi emulador estaba corriendo cuando capture la imagen.

Migrate.PNG

Despues de esto debe correr sin problemas.

Instalar Ambiente ASP.Net Core Ubuntu

En este tutorial vamos a aprender a montar nuestro ambiente en Ubuntu 16 con ASP.NET Core :

Instalar el CURL

  • Actualizar la lista de Sources:
sudo sed -i -e ‘s/us.archive.ubuntu.com/archive.ubuntu.com/g’ /etc/apt/sources.list
  • Actualizar apt-get
sudo apt-get update
  • Instalamos el Curl via apt-get
sudo apt-get install curl

Instalar el Visual Studio Code

  • Descargamos via curl VS Code:
curl https://packages.microsoft.com/keys/microsoft.asc | gpg –dearmor > microsoft.gpg
  • Movemos los archivos descargados al directorio etc :
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
  • Agregamos a las lista de origenes ( Source List)
sudo sh -c ‘echo “deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main” > /etc/apt/sources.list.d/vscode.list’
  • Actualizamos el apt-get
sudo apt-get update
  • Instalar VS Code
sudo apt-get install code # or code-insiders

Instalar ASP.NET Core

  • Descargamos via curl .NET CORE:
curl https://packages.microsoft.com/keys/microsoft.asc | gpg –dearmor > microsoft.gpg
  • Movemos los archivos descargados al directorio etc :
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
  • Agregamos a las lista de origenes ( Source List)
sudo sh -c ‘echo “deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main” > /etc/apt/sources.list.d/dotnetdev.list’
  • Instalar transport http
sudo apt-get install apt-transport-https
  • Actualizamos el apt-get
sudo apt-get update
  • Instalar Dot Net Core SDK
sudo apt-get install dotnet-sdk-2.1.105

 

Crear una app

Despues de instalar el SDK necesitamos ejecutar el siguiente comando para crear una nueva web app mvc con .Net Core:

 dotnet new razor -o miappname

Entramos a la carpeta del proyecto

cd miappname

Ejecutamos nuestro proyecto

dotnet run

Si necesitamos editar algo del proyecto  escribimos en la ruta del proyecto en la consola “code .”  sin comillas.

 

response for preflight has invalid http status code 405 web api con Angular >=2

Hace un par de días me encontré con ese error  cuando me disponía a conectar mi frontend  hecho con Angular CLI con Angular 4 con mi BackEnd hecho en WebAPI 2 de .NET , pero fue todo un dolor de cabeza, en primer lugar abrir los CORS para trabajarlo en desarrollo, porque sería comunicación entre dos servidores web diferentes, segundo el error de “response for preflight has invalid http status code 405”.

Resulta que las peticiones por Get funcionan perfectamente , pero por POST  asi se configuren headers en el servicio de angular sigue arrojando ese error, la única forma que funciona es con el encabezado “application/x-www-form-urlencoded” pero no envía correctamente los datos, por esta razón llegan los datos nulos.

Cuando sale el error y se pone un header diferente al antes mencionado por ejemplo un “application/json” verifiqué en la consola de chrome y encontré que el METHOD que aparece en la consola de Chrome es “OPTIONS” cuando debería ser  “POST”, fue algo tormentoso por que hice el llamado desde Jquery con POST y funcionó perfectamente, entonces no sabía que estaba mal por que en jquery funcionaba peor con angular no!.

Cuando  ya me estaba volviendo loco descubrí este articulo donde mencionan que se debe crear  un proxy  en el angular CLI y con esto funcionó como debía de funcionar, en el siguiente enlace encontraran el articulo en el que me base para ello.

Fuente:

https://juristr.com/blog/2016/11/configure-proxy-api-angular-cli/

Problema Module DLL ‘C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\isapi\spnativerequestmodule.dll’

Hace  un par de  días  tuve que  configurar un  servidor Sharepoint 2013 con un respectivo sitio pero al revisar que  el Portal del ESB no cargaba  después de que  días  atrás  estaba  funcionando sin problemas  mirando el Event View encontré este  error:

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 3/22/2017 2:33:55 PM
Event time (UTC): 3/22/2017 6:33:55 PM
Event ID: 427a2fa568e6483daa0bd6964ae60e7b
Event sequence: 8
Event occurrence: 1
Event detail code: 0

Application information:
Application domain: /LM/W3SVC/1/ROOT/ESB.Portal-1-131346812332787728
Trust level: Full
Application Virtual Path: /ESB.Portal
Application Path: C:\inetpub\wwwroot\ESB.Portal\
Machine name: MSPWVA-DOFMRS02

Process information:
Process ID: 22684
Process name: w3wp.exe
Account name: MSPWVA-DOFMRS02\SOAInstall

Exception information:
Exception type: WebException
Exception message: The request failed with HTTP status 503: Service Unavailable.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Practices.ESB.Portal.BizTalkOperationsService.Operations.Applications()
at Microsoft.Practices.ESB.Portal.PortalHelper.GetAllApplications()
at Microsoft.Practices.ESB.Portal.Lists.MySetting.renderApplicationSettings()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Request information:
Request URL: http://localhost/ESB.Portal/Reports/Reports.aspx?tzo=-4
Request path: /ESB.Portal/Reports/Reports.aspx
User host address: 127.0.0.1
User: MSPWVA-DOFMRS02\SPAdmin
Is authenticated: True
Authentication Type: Negotiate
Thread account name: MSPWVA-DOFMRS02\SOAInstall

Thread information:
Thread ID: 15
Thread account name: MSPWVA-DOFMRS02\SOAInstall
Is impersonating: False
Stack trace: at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Practices.ESB.Portal.BizTalkOperationsService.Operations.Applications()
at Microsoft.Practices.ESB.Portal.PortalHelper.GetAllApplications()
at Microsoft.Practices.ESB.Portal.Lists.MySetting.renderApplicationSettings()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:

Como indicio del problema tenía  que estuve configurando Sharepoint  del cual tambien aparecia  el siguiente error en el Event Viewer:

The Module DLL ‘C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\isapi\spnativerequestmodule.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.

Luego de buscar  mucho encontré esta solución:

Al parecer  es  un bug  pero  hasta  el momento es lo  que  parece.

Ejecutar este comando  con privilegios de administrador:

appcmd.exe set config -section:system.webServer/globalModules /[name=’SPNativeRequestModule’].preCondition:integratedMode,bitness64

Luego de  esto  has  un IISReset o reuniciar el IIS y  todo correra con normalidad

Fuente:http://bartwullems.blogspot.com.co/2013/08/sharepoint-error-module-dll-filescommon.html