Cómo: Compilar en el símbolo del sistema

Actualización: Julio de 2008

Hay varias maneras de compilar una aplicación .NET Compact Framework en el símbolo del sistema. Se incluyen las siguientes:

  • Utilizar Microsoft Build Engine (MSBuild).

  • Utilizar archivos de proceso por lotes.

Ambos métodos utilizan los compiladores de Visual Basic y Visual C# proporcionados por Kit de desarrollo de software de Windows (SDK). Sin embargo, MSBuild requiere archivos .targets que se distribuyen actualmente sólo en Visual Studio.

Compilar mediante MSBuild

Para generar desde el símbolo del sistema mediante MSBuild

  1. Asegúrese de que MSBuild.exe está en la ruta de acceso del sistema.

    MSBuild.exe se encuentra en %raízDelSistema%\Microsoft.NET\Framework\versión. La variable de ruta de acceso del sistema debe incluir esta ruta de acceso.

  2. En un símbolo del sistema, navegue hasta el directorio donde se encuentre el archivo de proyecto para la aplicación de .NET Compact Framework. El archivo de proyecto tendrá la extensión .sln, .vbproj o .csproj.

  3. Escriba el comando siguiente.

    msbuild.exe projectname
    

    La ventana del símbolo del sistema proporciona información acerca del proceso de generación.

Compilar mediante archivos de proceso por lotes

Puede utilizar archivos de proceso por lotes para seleccionar como destino los ensamblados de .NET Compact Framework en lugar de los ensamblados (de escritorio) de .NET Framework completo. Los archivos de proceso por lotes se pueden utilizar directamente o invocar desde una utilidad de archivos Make para habilitar la integración de .NET Compact Framework en los sistemas de compilación empresariales.

El archivo de proceso por lotes incluye la información siguiente:

  • Una variable de ruta de acceso a la ubicación de los ensamblados de .NET Compact Framework. En el ejemplo siguiente se utiliza NETCF_PATH.

    Nota:

    También puede especificar esta ruta de acceso en un archivo MAKE o como variable de entorno utilizando el cuadro de diálogo Propiedades de Mi PC.

  • Hace referencia a los ensamblados necesarios. Se utiliza el modificador -r y se concatenan los ensamblados en una variable.

  • Comandos de compilador con los modificadores y argumentos apropiados, como se describe en la sección "Modificadores de compiladores" más adelante en este tema. Entre los argumentos se incluyen referencias de variable y un asterisco (*) para incorporar argumentos adicionales.

Para crear un archivo de proceso por lotes con fines de compilación

  1. Cree un nuevo archivo en un editor de texto y agregue el contenido del archivo de proceso por lotes, como se indica en el siguiente ejemplo, para su lenguaje de programación preferido.

  2. Ajuste la variable NETCF_PATH si fuese necesario.

    De forma predeterminada, los ensamblados de .NET Compact Framework se encuentran en la carpeta C:\Archivos de programa\Microsoft.NET\SDK\versión\CompactFramework\WindowsCE.

    Nota:

    Si utiliza la versión de .NET Compact Framework incluida con Visual Studio 2008, los ensamblados se encuentran en C:\Archivos de programa\versión de Visual Studio\SmartDevices\SDK\CompactFramework\versión\WindowsCE.

  3. Guarde el archivo asignándole un nombre, como vbcc.bat para un archivo de proceso por lotes de Visual Basic o cscc.bat para un archivo de proceso por lotes de C#.

Para compilar una aplicación mediante un archivo de proceso por lotes

  1. Asegúrese de que la ruta de acceso del sistema incluye .NET Framework.

    El compilador de Visual Basic (vbc.exe) y el de Visual C# (csc.exe) están ubicados en la carpeta %raízDelSistema%\Microsoft.NET\Framework\versión. La variable de ruta de acceso del sistema debe incluir esta ruta de acceso.

  2. En un símbolo del sistema, escriba el nombre del archivo de proceso por lotes seguido del archivo de código fuente; por ejemplo:

    vbcc myapp.vb
    

    El archivo de código fuente debe tener la extensión .cs o .vb, dependiendo del compilador utilizado.

El archivo ejecutable, que se puede copiar en el dispositivo o emulador, se genera en el directorio actual.

Archivo de proceso por lotes para la compilación en C#

A continuación figura un ejemplo de un archivo de proceso por lotes para la compilación en C#.

@echo off

if "%NETCF_PATH%" == "" (
  set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v3.5\CompactFramework\WindowsCE)

if DEFINED REF ( set REF= )

set REF=%REF% "/r:%NETCF_PATH%\MsCorlib.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.ServiceModel.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Xml.Xlinq.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Data.Entity.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Runtime.Serialization.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsMobile.DirectX.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.ServiceModel.Channels.Mail.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.ServiceModel.Channels.Mail.WindowsMobile.dll"

csc -nostdlib -noconfig %REF% %*

Archivo de proceso por lotes para la compilación de Visual Basic

A continuación figura un ejemplo de un archivo de proceso por lotes para la compilación en Visual Basic.

@echo off

rem Verify the path is correct.
if "%NETCF_PATH%" == "" (
  set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v3.5\CompactFramework\WindowsCE)
set SDK_PATH="%NETCF_PATH%"

if DEFINED REF ( set REF= )

set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.VisualBasic.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.ServiceModel.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Xml.Xlinq.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Data.Entity.dll"
set REF=%REF% "/r:%NETCF_PATH%\System.Runtime.Serialization.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsMobile.DirectX.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.ServiceModel.Channels.Mail.dll"
set REF=%REF% "/r:%NETCF_PATH%\Microsoft.ServiceModel.Channels.Mail.WindowsMobile.dll"

set IMP= /Imports:Microsoft.VisualBasic,System,System.Data,System.Drawing,System.Windows.Forms

vbc -sdkpath:%SDK_PATH% -netcf -noconfig -nostdlib %IMP% %REF% %*

Modificadores del compilador

La tabla siguiente describe los modificadores y argumentos del compilador.

Modificador

Descripción

-r

Hace referencia a los ensamblados requeridos.

Puede especificar los ensamblados estableciendo una variable de entorno, como REF. De forma predeterminada, se hace referencia a la mayoría de los ensamblados de .NET Compact Framework.

C# requiere una referencia explícita a Mscorlib.dll y Visual Basic utiliza el modificador -sdkpath para buscarlo.

-imports

Visual Basic requiere las importaciones explícitas para los espacios de nombres siguientes:

  • Microsoft.VisualBasic

  • System.System.Data

  • System.Drawing

  • System.Windows.Forms

-nostdlb

Indica al compilador de Visual C# que omita los ensamblados de .NET Framework completo (de escritorio). En el compilador de Visual Basic, evita que el compilador lea el archivo Vbc.rsp.

-netcf

Indica al compilador de Visual Basic que omita los ensamblados de .NET Framework completo (de escritorio).

-noconfig

Obligatorio.

-sdkpath

Se requiere para que Visual Basic busque el archivo Mscorlib.dll.

Vea también

Otros recursos

Generar aplicaciones y tareas básicas en .NET Compact Framework

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Incluida información sobre requisitos para obtener archivos .targets instalando Visual Studio.

Corrección de errores de contenido.