2011-12-28 16 views
6

Tenemos una solución que contiene 17 proyectos. La solución tiene varias configuraciones como Depurar, Liberar, Probar, Publicar y etc.¿Por qué no se puede publicar?

También el proyecto del equipo tiene varias definiciones de compilación, cada una está especializada para una configuración. Usamos compilación de configuración de lanzamiento para compilaciones nocturnas y publicación de compilación de configuración para publicación e implementación. Por lo tanto, estas definiciones de construcción crean el mismo código fuente. Pero existe un problema ...

Nuestra compilación nocturna crea obj \ Libera directorios para cada proyecto pero publica la compilación no. Debido a esto, la compilación de publicación no crea el paquete de publicación del servidor.

Cuando miré a los registros de compilación, vi las diferencias como a continuación. nightly build - configuración Release (por cada proyecto)

PrepareForBuild: 
    Creating directory "obj\Release\". 

Publicar acumulación - Publicar configuración (por cada proyecto)

_DeploymentUnpublishable: 
    Skipping unpublishable project. 

pero no podía entender por qué? ¿Qué bandera controla esto?

Estamos utilizando TFS 2010, por lo que equipo de construcción 2010.

+0

Lea el resto del archivo de registro en torno al mensaje "no publicable" para ver si le dice por qué el proyecto no se pudo publicar. Además, tal vez configure el nivel de registro en "Verbose" oto para obtener más detalles. –

Respuesta

7

Trate de añadir los siguientes parámetros de implantación en el fichero de proyecto dentro del grupo de propiedades para la configuración de generación que desee publicar:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ... 
    <FilesToIncludeForPublish>OnlyFilesToRunTheApp</FilesToIncludeForPublish> 
    <DeployOnBuild>true</DeployOnBuild> 
    <DeployTarget>Package</DeployTarget> 
    <PackageAsSingleFile>true</PackageAsSingleFile> 
</PropertyGroup> 

I Obtenía un error similar en la compilación CI de un proyecto web. Agregar la configuración de implementación al archivo web.csproj lo corrigió.

Cuestiones relacionadas