miércoles, 2 de enero de 2013

Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi has changed since it was initially published.

El problema puede ser que uno de los archivos  (Product.xml) está firmado con una clave pública incorrecta. 

Solución:
  1. Descargar una nueva versión del fichero Products.xml desde
     
    https://websmp130.sap-ag.de/sap/support/sapnotes/public/services/attachment.htm?iv_key=002007204200000370862010&iv_version=0002&alt=2DC9D10AC2201840E1B7D9DD2063C112BCB0B9C1C829945177E2E6049B53E18FEAF10BEAEEF01DF0969C7B86A99002E79775D57E576B79457A83B0533627D431E18396FC10D8CD6DA1B2E59D378FB51BF9828E4FF77697922A554C292D7ED6D1AC3319682F06C95ADE48A1BEDD9E0A9373F84D98A21E1398FC372090E307&iv_guid=E003DB0C499232F1B08C001517547C04 

  2. Descomprimir el ZIP en cualquier carpeta.
  3. Copiar el archivo Product.xml a la siguiente ubicación:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\Crystal Reports for .NET Framework 4.0

Luego se vuelve a compilar y publicar.

Si el problema continúa, revisar el siguiente item:


En el archivo Product.xml
Buscar la siguiente etiqueta:

<RelatedProducts>
  <DependsOnProduct Code="Microsoft.Net.Framework.2.0" />

Y cambiar por la siguiente:

<RelatedProducts>
    <DependsOnProduct Code=".NETFramework,Version=v4.0" />
</RelatedProducts>

miércoles, 26 de diciembre de 2012

Clonar Lista en C#

Un problema común en C# es copiar/clonar una lista ya existente. Para esto hay muchas alternativas, pero la mas sencilla es la siguiente:

List<Clase> _list = new List<Clase>(_listExistente);





martes, 20 de noviembre de 2012

Error 1 An error occurred while validating. HRESULT = '8000000A'

Al investigar encontre que este es un inconveniente que pasa con Visual Studio 2010.
y una solucion que me resulto satisfactoria es la siguente:

  • Abra el archivo de proyecto de instalación (.vdproj) en el Bloc de notas (o cualquier otro editor de texto)
  • Borrar las linias que se encuentra por el principio del archivo   *.vdproj

"SccProjectName" = "8:" 
"SccLocalPath" = "8:"  
"SccAuxPath" = "8:" 
"SccProvider" = "8:"

  • Finalmente ReBuild la Solucion.

lunes, 5 de noviembre de 2012

Detectar todas las impresoras instaladas en el equipo y cargarlas a un ComboBox con C#.NET

private void CargarImpresoras()
{
   
   try
   {
       foreach (string item in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
       {
             cbImpresoras.Items.Add(item);
       }
   }
   catch (Exception ex)
   {
        throw ex;
   }
}

martes, 28 de agosto de 2012

Como seleccionar un objeto del DatagridView desde propiedad

A continuacion se ejemplifcara como poder seleccionar un objeto perteneciente a una fila del DataGridView a traves de propiedad.

  1. Primero Cargamos el datagridview.
          DataGridView1.DataSource =PersonaServicio.Buscar();
Suponemos que  PersonaServicio.Buscar() me devuelve una lista:
     List<Persona> _listPersona =new List<Producto>();

     2.    Entonces la propiedad a crear es de la siguiente forma:

private Persona selectedRow
{
  get
  {
     if (DataGridView1.SelectedCells.Count == 0)
         return null;
     else
       return (Persona )(DataGridView1.Rows[DataGridView1.SelectedCells[0].RowIndex].DataBoundItem)
}

    3.   Luego cuando querramos utilizarlo lo hacemos de la siguiente forma:

private void btBorrar_Click(object sender, EventArgs e)
{
          PersonaServicio.Borrar(selectedRow.IdPersona);
}

lunes, 6 de agosto de 2012

Los operadores de C#:


Categorías
Operadores
Principal
x.y
x++
x--
new
->
Unario
+
-
!
~
++x
--x
&
Multiplicativo
*
/
%
Sumatorio
+
-
Desplazamiento
<<
>>
Comprobación de tipos y relacionales
<
>
<=
>=
is
as
Igualdad
==
!=
AND lógico
&
XOR lógico
^
OR lógico
|
AND condicional
&&
OR condicional
||
Condicional
?:
Asignación
=
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
??



Fuente: http://msdn.microsoft.com/es-es/library/6a71f45d%28v=vs.80%29.aspx