Cómo: Utilizar variables de entorno al compilar
Al compilar proyectos, a menudo es necesario establecer las opciones de compilación utilizando información que no se encuentra en el archivo de proyecto ni en los archivos de los que consta el proyecto. Esta información se almacena normalmente en variables de entorno.
Hacer referencia a variables de entorno
Todas las variables de entorno están disponibles como propiedades para el archivo de proyecto de Microsoft Build Engine (MSBuild) .
Nota |
---|
Si el archivo de proyecto contiene una definición explícita de una propiedad que tiene el mismo nombre que una variable de entorno, la propiedad del archivo de proyecto reemplaza el valor de la variable de entorno. |
Para utilizar una variable de entorno en un proyecto de MSBuild
Haga referencia a la variable de entorno como si fuera una variable declarada en el archivo de proyecto. Por ejemplo, en el código siguiente se hace referencia a la variable de entorno BIN_PATH:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>
Se puede utilizar un atributo Condition para proporcionar un valor predeterminado a una propiedad si no se ha establecido la variable de entorno.
Para proporcionar un valor predeterminado a una propiedad
Utilice un atributo Condition para establecer el valor de una propiedad sólo si la propiedad no tiene ningún valor. Por ejemplo, en el código siguiente se establece la propiedad ToolsPath en c:\tools sólo si la variable de entorno ToolsPath no se ha establecido:
<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>
Nota En los nombres de propiedad no se distingue entre mayúsculas y minúsculas, así que tanto $(ToolsPath) como $(TOOLSPATH) hacen referencia a la misma propiedad o variable de entorno.
Ejemplo
En el archivo de proyecto siguiente se utilizan variables de entorno para especificar la ubicación de directorios.
<Project DefaultTargets="FakeBuild">
<PropertyGroup>
<FinalOutput>$(BIN_PATH)\myassembly.dll</FinalOutput>
<ToolsPath Condition=" '$(ToolsPath)' == '' ">
C:\Tools
</ToolsPath>
</PropertyGroup>
<Target Name="FakeBuild">
<Message Text="Building $(FinalOutput) using the tools at $(ToolsPath)..."/>
</Target>
</Project>
Vea también
Tareas
Cómo: Compilar los mismos archivos de código fuente con diferentes opciones