24 abr 2010

// // 1 comentario

Cuidado con las actualizaciones VS2008, VS2010, Office 2010 y sus dependencias.

Ahora con el lanzamiento de Visual Studio 2010 RTM y Office 2010 RTM, toca siempre actualizarse, en el caso de VS2010, instale junto a VS2008 que ya tenia, debido a que pueden trabajar lado a lado sin problema alguno aparentemente y en caso del Office pues me toco sacar el Office 2007 que tenia y dejarlo únicamente con el 2010, aunque se pueden instalar office 2007 y office 200 juntos, en mi caso no era necesario.

Hasta este punto todo bien, pero cuando voy a trabajar con VS2008 al abrir un archivo .ASPX, se bloquea todo el VS2008 y no reacciona ante nada, solo terminando el proceso aunque funciona normal en archivos de código y pues así empezó la búsqueda del problema y una posible solución.

En principio pensé que era problema del VS2010 ya que según el problema estaba reportado en connect lo cual me llevo a un post de scottgu donde indica que se podría tratar de componentes que funcionan en una versión y pues en la siguiente no va, así que para solucionar esto la solución era correr VS2008 en modo seguro (devenv /safemode), de cierta manera esto me funcionó aunque media hora después volvimos a lo mismo, así que buscar otra alternativa, en mi caso ya que puedes tener el mismo problema y esto le daría solución.

Siguiendo con la búsqueda cambie de orientación para ver problemas con office ya que era algo que recientemente había instalado también, y pues se vi la luz.

El problema que tenia radicaba en la actualización de office, el VS2008 se bloqueaba debido a que usaba componentes de office2007 y pues no los encontraba.

Ahora la solución estaba a la vista, en este punto puedes volver al office 2007 nuevamente, pero como office 2010 esta bien chévere, puedes reparar el Componente Web de Autorización de Visual Studio, esto lo encontramos es:

C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\Office Setup Controller

Ejecutamos el archivo SETUP.EXE (requiere permisos de administrador) y le damos reparar:

image

Esperamos que termines y pues ya tenemos VS2008 de vuelta, si les pasa puede ser debido a esto o como menciono anteriormente, los componentes no compatibles, también hay un hotfix para problemas similares, cualquiera de estos te puede ser de ayuda.

Saludos!

Leer post completo

18 abr 2010

// // Comentar

AjaxControlToolkit CalendarExtender y Problemas con los estilos

Hace algún tiempo que no escribía y pues ahora estuve trabajando en un proyecto y me tope con un problema un poco extraño en el control CalendarExtender del AjaxControlToolkit 3.5, pasaba que al agregarlo no me mostraba todos los días, únicamente me mostraba 5 días como muestro en la imagen:

image

Pensé que podía ser problema del control, pero al probarlo en otro proyecto no me daba este problema, indagando descubrí que esto se debe a las hojas de estilo que usa este control internamente y pues los estilos que tengo en mi aplicación sobrescribían los originales del control y le daban este comportamiento.

El estilo que usa el control es el siguiente:

#container table{
//...
}



Así que si tienen en su aplicación hojas de estilo que usen este identificador deben cambiarle de nombre para no afectar los estilos del calendario o en todo caso agregarle estilo propio al control para que pueda usarlo, de esta manera:


.calendario .ajax__calendar_container{
width:250px;
}
.calendario .ajax__calendar_body {
width:250px;
}


y en el calendario asignarle esta clase


<ajax:CalendarExtender ID="TextBox_CalendarExtender" runat="server" Enabled="True"


 TargetControlID="TextBox" CssClass="calendario"></ajax:CalendarExtender>


De esta manera logro que se visualice la parte restante de mi calendario, pero si desean pueden personalizar todos los estilos del calendario para cambiar la forma en que se ve, les dejo las clases para que puedan personalizarlo a su gusto:


.calendario .ajax__calendar_header {  }
.calendario .ajax__calendar_title { }
.calendario .ajax__calendar_dayname { }
.calendario .ajax__calendar_day { }
.calendario .ajax__calendar_hover .ajax__calendar_day { }
.calendario .ajax__calendar_hover .ajax__calendar_month { }
.calendario .ajax__calendar_hover .ajax__calendar_year { }
.calendario .ajax__calendar_active { }
.calendario .ajax__calendar_today { }
.calendario .ajax__calendar_other .ajax__calendar_day { }
.calendario .ajax__calendar_hover .ajax__calendar_today { }
.calendario .ajax__calendar_hover .ajax__calendar_title { }



Espero les sea de utilidad, hasta el nuevo post.

Leer post completo

21 ene 2010

// // 1 comentario

Reportes Jerárquicos en Crystal Reports 2008

Nuevamente por acá compartiendo algo que me resulto muy útil a la hora de crear reportes de este tipo, suele pasar muchas veces que tenemos organizados nuestros datos de forma jerárquica, como por ejemplo la estructura organizacional de una empresa.

La forma de crear este tipo de reportes es muy sencilla, voy a mostrar un ejemplo con la siguiente tabla de datos:

Tabla

Como se puede apreciar tenemos la columna EstructuraID que vendría a ser la llave del registro y la columna PEstructuraID que vendría a ser la llave del registro padre del cual depende ese registro, los que tiene valores NULL serán los registros raíz o padres.

Ahora crearemos un reporte que trabaje con esta tabla y lo agrupamos por EstructuraID como se muestra en la imagen

image

Al finalizar nuestro reporte nos quedará similar a esto

image

Hasta aquí no se ha hecho nada en especial, mas que crear un simple reporte agrupado, ahora procederemos a darle una estructura jerárquica, con una opción que viene en Crystal en el menú Informe->Opciones de agrupamiento Jerárquico:

image

Al seleccionar esta opción se nos pedirá que indiquemos la columna que contiene la llave del registro padre y la sangría a aplicar para los subniveles:

image

Y con esto automáticamente tendremos un reporte con estructura jerárquica como lo deseamos, ya ahí se podrán hacer los ajustes de diseño respectivos para que quede como quieran mostrar.

image

Espero les sirva este aporte, por cierto también funciona en Crystal XI.

Saludos! 

Leer post completo

29 sept 2009

// // Comentar

Editor de Texto en ASP .NET MVC

Cuando se desarrolla una aplicación que va a contender secciones donde se necesita ingresar texto con formato, siempre es muy útil un editor de texto que nos permita esto, estos se usan en diversos tipos de aplicaciones, en esta oportunidad les mostraré como usar el CKEditor con ASP .NET MVC.

Lo primero que hay que hacer es descargarse las librerías, descomprimirlo y copiarlo en el directorio /Content/js/ luego agregar la referencia al archivo ckeditor.js en la vista donde se va a usar o en la masterpage si se desea para toda la aplicación, seria algo similar a esto

<script src="../../Content/js/ckeditor/ckeditor.js" type="text/javascript" ></script>

Con esto ya tenemos la referencia al script a usar, ahora para ponerlo a funcionar agregamos lo siguiente


 

<%= Html.TextArea("Descripcion", "", new { @name = "Descripcion" })%>
<script type="text/javascript">
//<![CDATA[

// This call can be placed at any point after the
// <textarea>, or inside a <head><script> in a
// window.onload event handler.

// Replace the <textarea id="editor"> with an CKEditor
// instance, using default configurations.
CKEDITOR.replace("Descripcion");

//]]>
</script>
 
Con esto podemos logra algo así
ckeditor
 

Este editor tiene muchas opciones, como mostrar solo algunos comandos, skins, entre otros, los invito a revisarlo, esta muy bueno

Leer post completo

20 sept 2009

// // 3 comentarios

The requested database is not defined in configuration.

Si alguna vez están trabajando con Enterprise Library o Repository Factory, quizá les pueda dar este error al momento de hacer la llamada a la base de datos, es por que hay que definir algunos elemento en el nuestro archivo de configuración del proyecto que hace la referencia a la clase que se accede a la base de datos.


En mi caso me ha funcionado lo siguiente:


Agregar los tags en configSections.

<configSections> 
  <section name="repositoryFactory" type="Microsoft.Practices.Repository.Configuration.
RepositoryFactorySection, Microsoft.Practices.Repository, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null" /> 
  <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.
Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, 
Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</configSections>
 

Ahora definiremos la conexión por defecto de la aplicación

<dataConfiguration defaultDatabase="DefaultConnectionString" />

Esta cadena de conexión debe esta definida dentro de ConnectionStrings
 
<add name="DefaultConnectionString" 
connectionString="Data Source=.;Initial Catalog=Database;Integrated Security=True" 
providerName="System.Data.SqlClient" />
 

Teniendo definido esto ahora cuando hagamos llamadas a nuestra clase, en mi caso usando Repository Factory seria así:

ClaseRepository repository = new ClaseRepository("DefaultConnectionString");

Con esto ya no deberíamos tener ese error, al menos en mi caso ha funcionado si tienen mas aportes sobre el tema y posibles soluciones, agradeceré sus comentarios.

Leer post completo

31 ago 2009

// // 3 comentarios

Como permitir leer Archivos Excel 2007 desde Sistemas de 64 bits (x64)

Quizá esto le pueda pasar cuando trabaje ya sea en Windows Vista o en mi caso Windows 7 x64, he intentado leer un archivo Excel 2007 desde una aplicación en .NET y me daba el siguiente error:

El proveedor Microsoft.ACE.OLEDB.12.0 no está registrado en el equipo local. o en ingles

The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine.

Pues resulta que esto es debido a que no hay controladores de office para x64, asi que hay que cambiar el tipo de compilación de la aplicación, que por defecto esta en “Any CPU” a “x86”, esto en las propiedades->Build.

Con esto ya se pueden leer los archivos con total normalidad, espero les sirva de algo.

Leer post completo
// // Comentar

Usando Client Application Services Parte 02

En el post anterior hablábamos de como crear una aplicacion que nos permita manejar los accesos de los usuarios ahora veremos como podemos utilizar el servicio de membresia de ASP .NET en una aplicacion Windows Forms que era lo que no se tenia disponible antes.

1. Creando la aplicación Cliente

Vamos a crear una aplicación Windows Forms sencilla como se ve en la imagen:

image

Como esto es solo de forma ilustrativa no necesitamos crear una aplicacion compleja.

2. Enlazando el Servicio

Ahora vamos a integrar el servicio que habiamos creado anteriormente para poder hacer uso de la validacion de usuarios, para ellos nos vamos al proyecto que acabamos de crear y hacemos clic derecho->Propiedades, ahi podemos apreciar al lado izquierdo que tenemos un tab Services, ahi es donde se habilita Client Application Services, marcamos el check e ingresamos los datos como se muestra en la imagen:

image

Tambien debemos agregar una referencia a System.Web, en nuestro proyecto clic derecho->Add Reference en el tab NET buscamos el ensamblado y lo agregamos, esto es para que podamos hacer uso de Clase Membership en nuestra aplicacion.

3. Validando Usuarios

Vamos a trabajar en el evento Load del formulario, dentro de este pondremos el siguiente codigo para validar las credenciales de un usuario si son correctas se mostrara el formulario, caso contrario se mostrara un mensaje y cerrará la aplicacion.

if (!Membership.ValidateUser("User", "Password"))
{
MessageBox.Show("Usuario no valido");
this.Close();
}


Con esto ya podemos validar los datos del usuario, incluso validar si pertene a algun Rol, todo lo que se podia hacer en ASP .NET 2.0 en cuanto a usuarios, ahora ya esta disponible para usar por otro tipo de aplicaciones, no solo esto, sino que tambien permite centralizar la administracion de usuarios.



Espero haya sido de ayuda estos post, si hubiese algo que no quedo claro, no duden en dejar sus  comentarios, tambien adjunto el codigo fuente del ejemplo para que puedan revisarlo.



Descargar Código Ejemplo

Leer post completo
// // Comentar

Usando Client Application Services Parte 01

Introducción

Cuando salió .NET Framework 2.0, una de las novedades que traía consigo era la posibilidad de usar una serie de controles y clases para la gestión de usuarios, perfiles y roles, con las características típicas de una aplicación con manejo de usuarios.

Pues hasta ahí todo bien, pero esto estaba disponible solo para las aplicaciones Web, no se podía usar en aplicaciones Windows, así que en este tipo de aplicaciones teníamos que hacer trabajo extra para la gestión de usuarios.

Ahora con la salida del .NET Framework 3.5, pues se van suavizando las cosas, no es que tengamos los mismos controles disponibles para poder hacer esto, sino que acá podemos centralizar el manejo de usuarios, con lo que se conoce como Client Application Services.

Que es Client Application Services?

Es un concepto que permite integrar las aplicaciones cliente como Windows Forms con los servicios de Membresia de ASP .NET, es decir, tendremos un servicio desde donde se administren los usuarios y desde una aplicación Winforms podemos referenciarlo y ya podemos autenticar usuarios y todo lo que las clases de Membresia nos puedan permitir.

Ejemplo Practico

Para que todo este tema quede claro, aquí les explicare como funciona para que puedan implementarlo.

Si desean conocer como funciona esto del manejo de usuarios y perfiles, los invito a revisar estos artículos que publique hace algunos años:

Personalización ASP .NET Parte 01

Personalización ASP .NET Parte 02

Estos artículos estaban para la versión 2.0 de asp .net, pero también son validos trabajarlo en VS 2008.

Volviendo al tema, vamos a iniciar con la aplicación de ejemplo.

1. Creación de la base de datos

Esta base de datos nos servirá para almacenar los usuarios, esto se hace con un utilitario que viene con el .NET Framework, lo que hay que hacer es ir a Inicio->Todos los Programas->Microsoft Visual Studio 2008->Visual Studio Tools y abrir el Command Prompt, nos abrirá una consola DOS, donde escribiremos asp_regsql, les aparecerá una un wizard que creara la base de datos automáticamente, solo hay que darle siguiente hasta donde nos pida datos del servidor y base de datos, podemos dejar que cree la base de datos con el nombre por default o podemos asignarle cualquier nombre como se muestra en la imagen.

image

Una vez ingresados los datos, damos siguiente y finalizar, con esto ya tenemos nuestra base de datos lista para usarla en nuestra aplicación de ejemplo.

2. Creación del Servicio

Ahora crearemos el servicio que se conectara a la base datos e interactúa con la aplicación para el manejo de usuarios, para esto crearemos un nuevo proyecto del tipo ASP .NET Web Service Application.

image

Con esto se crea una plantilla del servicio, lo cual no usaremos, ya que la aplicación Windows se conectara directamente.

3. Configuración de Roles y Usuarios

Ahora configuraremos nuestros usuarios y roles que tendrán acceso a nuestra aplicación, para esto usaremos el ASP .NET Configuration Tool que pueden ubicarlo en el menú Project->ASP .NET Configuration que se encuentra al final del menú.

Nos abrirá una venta del navegador que nos permitirá configurar todo, esto es bien intuitivo así que lo resumiré, hay que ir a la pestaña de Seguridad y vamos al enlace donde dice Utilice el Asistente para la configuración de seguridad para configurar la seguridad paso a paso. en Método de Acceso seleccionamos desde Internet, Habilitamos las funciones o roles para la aplicación, agregamos 02 roles (Administrador, Cliente), creamos 02 usuarios también, no agregamos ninguna regla de acceso y al finalizar vuelve a la pantalla de seguridad, ahí nos vamos a administrar usuarios->editar funciones y asignamos un usuario al Rol Administrador y el otro al Rol Cliente y cerramos el navegador.

4. Habilitando Client Application Services

Para poder hacer que este servicio pueda dar respuesta a aplicaciones que se comuniquen con el hay que agregar el siguiente código al archivo Web.config

<system.web.extensions>
<scripting>
<webServices>
<authenticationService enabled="true" requireSSL="false" />
<roleService enabled="true"/>
</webServices>
</scripting>
</system.web.extensions>


Nos leemos en la siguiente entrada.

Leer post completo

10 jun 2009

// // 6 comentarios

WCF: Esta colección ya contiene una dirección con el esquema http. Sólo puede haber una dirección por esquema en esta colección

“This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.“

Pues recientemente me he topado con este mensaje de error, me ha salido al momento de hacer deployment de un servicio WCF, en modo local no tenia problemas, indagando un poco encontré que se trata de como IIS aloja los servicios, para lo cual permite una sola dirección por esquema (HTTP), por lo cual en servidores de hosting compartidos nos da este problema, en mi caso lo solucione creando una clase Factory que herede de ServiceHostFactory y sobrescriba el método que devuelve el  ServiceHost con solo una dirección:

public class CustomHostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
Uri webServiceAddress
= new Uri("http://dominio.com/Service.svc");
ServiceHost webServiceHost
= new ServiceHost(serviceType, webServiceAddress);

return webServiceHost;
}
}


Ahora solo nos hace falta indicarle al servicio que debe usar esta clase como Factory



<%@ ServiceHost Language="C#" Debug="true" Service="Services.MyService" Factory="Services.CustomHostFactory" %>


Con esto ya no tendremos este error y nuestro servicio trabajará correctamente.



Adicionalmente a esto pueden otras opciones de como solucionar este problema como en los siguientes enlaces:



WCF: This collection already contains an address with scheme http



How can WCF support multiple IIS Binding specified per site ?



Espero les pueda evitar unos cuantos dolores de cabeza.

Leer post completo

22 may 2009

// // Comentar

Liberado Visual Studio 2010 Beta 1

Ya esta disponible para todos el Beta de Visual Studio 2010, ahora lo estoy descargando, si alguien quiere probarlo aquí tiene el enlace:

Download VS 2010 Professional Beta 1

 

Si están usando Windows 7 RC, puede que tengan problemas de compatibilidad con SQL Server 2008, para ver mas detalles en este enlace.

 

Si desean conocer mas de VS 2010 aquí les dejo la Pagina oficial del Producto

Leer post completo

3 may 2009

// // Comentar

Windows 7 RC Disponible

Desde el día 30 que ya esta disponible para descarga el RC(Reléase Candidate) de Windows 7, para los suscriptores MSDN y TechNet y a partir del 5 de mayo para los demás, viene con algunas novedades como es el XP Mode que permite ejecutar programas escritos para XP y que no funcionan en esta nueva Versión, en general tiene muchas cosas buenas que valen la pena probarlo, ya lo llevo usando algún tiempo y la verdad que estoy mas que satisfecho, los invito a probarlo.

Download MSDN | Download TechNet

UPDATE: Download sin suscripción

Leer post completo

28 abr 2009

// // 1 comentario

ASP.NET MVC Training Kit

Si haz oído hablar o haz leído algo sobre MVC y te interesa aprender y no sabes por donde empezar, pues aquí tienes una gran ayuda, el Training KIT de ASP .NET MVC, donde encontraras presentaciones, demos, labs y mas recursos para empezar con este nuevo framework.

Download ASP.NET MVC Training Kit

Leer post completo

22 abr 2009

// // Comentar

SQL Energy Event en la UNT

Ya hace buen tiempo que en la UNT no se hacia un eventito, pues ahora la gente de la Célula se ha puesto las pilas y estamos retomando actividades, para empezar se hará uno como Lanzamiento Oficial de SQL Server 2008, donde se mostrará muchas características y las ventajas que nos ofrece este producto, mas detalles en el afiche.

Evento Mayo 2009

Leer post completo

9 abr 2009

// // 2 comentarios

PIVOT SQL: Pasar filas a columnas

SQL no es mi fuerte, pero quisiera compartirles algo que he usado últimamente para solucionar un problema que he tenido con una consulta, pues resulta que tengo una tabla de Productos, los cuales están clasificados (Línea-Representada), lo cual lo tenia en otras tablas, y necesitaba traer cada producto con su línea y representada, con una consulta normal como esta:

SELECT    P.Codigo, P.Nombre, N.Nombre AS Nivel, A.Nombre AS Atributo, P.Ean
FROM Productos P
INNER JOIN ProductoAtributos PA ON PA.ProductoID = P.ProductoID
INNER JOIN Atributos A ON A.AtributoID = PA.AtributoID
INNER JOIN NivelProducto N ON N .NivelID = A.NivelID


El resultado seria el siguiente:



Codigo      Nombre                       Nivel                 Atributo                Ean             
-----------   ------------------------     --------------        -----------               ---------------


1000000     PAMPERS BABYSEC     Línea                 LACTEOS               5655425689322


1000000     PAMPERS BABYSEC     Representada    GLORIA                 5655425689322


1000001     GASEOSA CASINELLI   Línea                 CONDIMENTOS      6547574575474


1000001     GASEOSA CASINELLI   Representada    AJINOMOTO          6547574575474



Si analizamos el resultado, no nos sirve de mucho ya que se repite el producto con la Línea y la Representada, a mi lo que me interesa es tener la Línea y la representada en un solo registro con el producto, así que revisando un poco encontré la solución en PIVOT, esta es una característica nueva que viene a partir de la versión 2005 de SQL.



Con esta característica podremos colocar la Línea y la Representada en columnas y obtener el resultado deseado, la consulta quedaría algo así:



SELECT Codigo, Nombre, [Linea] AS 'Linea', [Representada] AS 'Representada', Ean
FROM (
SELECT P.Codigo, P.Nombre, N.Nombre AS Nivel, A.Nombre AS Atributo, P.Ean
FROM Productos P
INNER JOIN ProductoAtributos PA ON PA.ProductoID = P.ProductoID
INNER JOIN Atributos A ON A.AtributoID = PA.AtributoID
INNER JOIN NivelProducto N ON N .NivelID = A.NivelID
) PVT
PIVOT(
MIN(Atributo) FOR [Nivel] IN([Linea], [Representada])) AS Child




Obteniendo el resultado siguiente



 



Codigo      Nombre                       Línea                Representada   Ean

-----------   -------------------           ------------          -------------         ---------------


1000000     PAMPERS BABYSEC     LACTEOS           GLORIA             5655425689322


1000001     GASEOSA CASINELLI   CONDIMENTOS  AJINOMOTO      6547574575474



Esto si que nos sirve, tenemos un resultado mas ordenado y mejor presentado, con esto solucionamos el problema, esto se le conoce como PIVOT Estático, ya que las columnas las asignamos en duro, pero también se puede hacer dinámicamente, quizá mas adelante comente al respecto, por mientras les dejo algunos enlaces para que puedan profundizar el tema.



Usar PIVOT y UNPIVOT



Pasar filas a columnas con T-SQL: PIVOT() y las cosas que te alegran el día :)



Pivot y Unpivot en SQL Server 2005



Implementación de PIVOT Dinámico

Leer post completo

27 feb 2009

// // 19 comentarios

Crystal Reports 2008 y Windows Vista x64

Pues resulta que estoy trabajando con estos productos y tenia un gran problema al momento de cargar un reporte, me salia el siguiente mensaje:

An error has occurred while attempting to load the Crystal Reports runtime.

Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly.

Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required.  Please go to http://www.businessobjects.com/support for more information.

Pues haciendo caso del mensaje, estuve buscando el runtime para 64 bits, supuestamente viene en el DVD de instalacion de VS 2008, pero no di con la solucion.

Buscando un poco mas encontre este enlace donde se comenta el error y se da la solucion:

Pues basta con cambiarle el Target CPU del proyecto vamos a mostrar el reporte a x86 y podremos ver nuestro reporte.

Para esto debemos ir a nuestro Proyecto, clic derecho en Propiedades, nos vamos a la Pestaña Debug y en Platfom target que esta por defecto en Any CPU, lo cambiamos por x86 y ejecutamos.

Espero les sirva.

Saludos

Leer post completo

22 nov 2008

// // 1 comentario

Un Vistazo a Visual Studio 2010 y .NET Framework 4.0

Ya hace varios días me había descargado la CTP de Visual Studio 2010, pero no había tenido tiempo para probarlo, y ahora lo puse a andar, aunque la PC solo tiene los requisitos mínimos para ejecutarlo, pude ver algo, ya podré probarlo un poco mas cuando le ponga mas memoria.

Una de las primeras cosas que se puede ver en cuanto a interfaz es que esta basado en WPF, esto se ve muy bien, para iniciar, ojalá y la memoria llegue rápido para poder probar mas cosas.

StarPageWPF

Si desean probarlo, pueden bajarlo, esta en una VPC con SO Windows Server 2008, esto dividido en varios archivos.

Descargar Visual Studio 2010 CTP 

Saludos!

Leer post completo

9 nov 2008

// // 2 comentarios

Problemas con Visual Studio 2008 SP1 y SCSF

Como les comentaba antes ahora estoy trabajando con el SCSF y resulta que después que salió el SP1 cambiaron algunas cosas, una de ellas es que al querer agregar una Vista a un Proyecto no aparece el menú Add View (with Presenter) y Add WPF-View (with Presenter), para poder solucionar esto debemos hacer lo siguiente:

1.- Descargar el código fuente del SCSF

2.- Ir al directorio donde se instalo y abrir la solución GuidancePackage.sln

3.- Ir al proyecto SmartClientFactoryPackage, dentro de el ubicar el directorio References y ahí abrir la clase ViewTemplateReferenceCS.cs

4.- Ubicar la línea # 154 y cambiar

if (reference.Identity == referenceIdentity) return true; 



por:




if (reference.Name == referenceIdentity) return true; 



5.- Repetir los paso 3 y 4 con la clase ViewTemplateReferenceVB.cs



6.- Compilar la solución y luego registrarlo y ya tenemos de vuelta los menús Add View (with Presenter) y Add WPF-View (with Presenter).



Si desean corregir mas detalles del SCSF para que pueda trabajar tanto con VS 2008 y SP1 pueden revisar el siguiente enlace:



SCSF - April 2008 with Visual Studio 2008 Service Pack 1 Known Issues



Saludos!



Leer post completo
// // 1 comentario

Visual Studio 2008 + ASP .NET 2.0 + ASP .NET AJAX Extensions 1.0

Ahora que tenemos Visual Studio 2008, ya no necesitamos tener varias versiones de Visual Studio instaladas en nuestro equipo para trabajar con cada tipo de Framework (2.0, 3.0, 3.5), gracias al Soporte Multi-Targeting que nos permite seleccionar la versión con la que deseamos trabajar, pero que pasaría si quisiéramos trabajar con NET 2.0 y AJAX, con 3.5 no hay problema ya que viene incluido, en Visual Studio 2005 teníamos las extensiones ASP .NET AJAX, eso no significa que con VS 2008 no lo podamos usar, también se puede instalar, aquí una pantalla como queda el VS después de instalar las extensiones. (Ooops!)

NotTemplates

Después de instalar las extensiones no se muestran ninguno de los Templates de proyectos, eso significa que hay algo mas por hacer, Microsoft pensó en ello y para brindar soporte a ASP .NET AJAX en Visual Studio 2008, se tiene el Pack Microsoft ASP.NET 2.0 AJAX Templates for Visual Studio 2008, las instalamos y ya tenemos listo el nuevo template para ASP .NET AJAX (Volvieron a aparecer nuestros templates xD!)

AjaxTemplates

Saludos!

Leer post completo
// // 8 comentarios

Se ha deshabilitado el acceso de red para el administrador de transacciones distribuidas (MSDTC)

Actualmente en una operación del proyecto que estamos realizando, utilizamos transacciones distribuidas, todo bien hasta que llego el momento de probar todo y fue ahí cuando ouchh!

Se ha deshabilitado el acceso de red para el administrador de transacciones distribuidas (MSDTC). Habilite DTC para el acceso de red en la configuración de seguridad de MSDTC utilizando la herramienta administrativa Servicios de componentes. ---> System.Runtime.InteropServices.COMException (0x8004D024): El administrador de transacción ha deshabilitado su soporte para transacciones de red o remotas. (Excepción de HRESULT: 0x8004D024)
   en System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid&

Pero bueno esto no es nada del otro mundo, lo que sucede es que para poder trabajar con transacciones distribuidas debemos habilitar el Coordinador de Transacciones que viene con Windows, en este post trataré de explicar como habilitarlo en Windows Vista, en XP difiere un poco.

En mi caso el entorno de ejecución de la aplicación es en Red, es decir el servidor de BD se encuentra en otro equipo.

Como habilitar el Coordinador de Transacciones en Windows Vista

En XP nos podemos ir a herramientas administrativas y entrar al servicio de componentes y habilitarlo, en este caso, lo estaba buscando en herramientas administrativas y no estaba por ningún lado, así que toca acceder vía Ejecutar:

En ejecutar escribimos "comexp.msc" y automáticamente se abrirá la consola de servicio de componentes de Windows Vista.

Una vez dentro de la consola desplegamos Servicios de componentes->Equipos->Mi PC->Coordinador de Transacciones distribuidas

Ahí tenemos a DTC (Distributed Transaction Coordinator), con clic derecho nos vamos a sus propiedades y ahí habilitamos las opciones que deseemos:

image

Luego nos vamos a la pestaña seguridad y habilitamos los propiedades correspondientes, de acuerdo al entorno en el que vamos a trabajar.

image

En mi caso he habilitado todo sin ninguna restricción para poder hacer las pruebas, pero en un entorno de producción dependerá mucho de las opciones que se tenga en cuanto al acceso a red y privilegios de usuarios.

Nos saldrá un mensaje que se ha reiniciado el servicio y ya esto todo listo. Vale comentar que es necesario que el servicio del coordinador de transacciones este iniciado, para ello pueden ir a la consola de servicios y verificarlo.

De cierta manera ya tenemos configurado el Coordinador de Transacciones, ahora solo falta darle acceso a través del firewall.

image

Con esto ya podemos trabajar tranquilamente con nuestras transacciones. Adicionalmente pueden revisar este articulo que trata sobre

Cómo habilitar el seguimiento de diagnóstico para MS DTC en un equipo en función de Windows Vista

Saludos!

Leer post completo
// // Comentar

Comparación de Ediciones 2008 de Visual Studio

Les comparto un enlace que encontré donde se hace una comparación de las características de todas las ediciones de Visual Studio 2008, esta detallado por áreas.

Visual Studio 2008 Product Comparison

Features

Podemos ver características como:

  • Sirve como guía para saber que podemos encontrar en cada edición de esta herramienta.

  • Leer post completo