2009-06-12 12 views

Respuesta

44

Encontré la solución.

Hay un "error" en msbuild, que hace que falle cuando no hay archivos fuente en el proyecto. Por ejemplo Filename.cs.

Nuestro proyecto solo tenía xml y otros tipos de archivos.

Acaba de agregar un archivo cs vacío y funcionó.

+0

+1 (Vine aquí en busca de una mejor respuesta, pero supongo que si esto es todo lo que podemos conseguir, que así sea). Todavía presente en 3.5 SP1. La gente de MS no está ocupada esperando que Connect se actualice, ¡por favor tenga en cuenta! –

+0

Tuve que agregar un método principal en mi clase vacía, supongo que la persona que agregó el proyecto lo convirtió en una aplicación de consola. – aceinthehole

+4

solo asegúrate de que en el archivo .cs vacío coloques un comentario/enlace a esta pregunta, ¡o alguien en el futuro se confundirá por igual! –

9

También recibí este mensaje de error al "construir" un proyecto que no tenía ningún archivo * .cs ... pero lo hacemos con bastante frecuencia para proyectos de SharePoint que son solo XML. el proyecto VS es solo para organizar algunos de los documentos XML. Para resumir, el problema era que había un archivo AssemblyInfo.cs. Después de agregar alguna información de ensamblaje a las propiedades del proyecto, ¡listo! Funcionó. Así que supongo que sí, necesitas un archivo .cs para compilar realmente cualquier cosa, pero AssemblyInfo.cs es suficiente.

+0

Esta es una mejor manera de resolver el problema; sin embargo, quizás no deberíamos usar archivos .csproj en primer lugar para organizar este contenido en general –

42

Debe agregar información de ensamblaje al proyecto. Esto evade la necesidad de crear un archivo de clase vacío.

Para crear fácilmente un archivo de información de conjunto, abra las propiedades del proyecto, seleccione la pestaña de la aplicación, haga clic en "Información de conjunto" e ingrese los datos apropiados. Esto creará automáticamente el archivo assemblyinfo.cs en la ubicación adecuada.

+0

¿Qué pasa con los proyectos de Visual Basic? Tengo un archivo "Mi proyecto \ AssemblyInfo.vb" en lugar de un archivo "Propiedades \ AssemblyInfo.cs". Todavía veo el error. –

+0

¿Cuál es el mínimo de "datos apropiados" que debe agregarse? –

+0

De hecho, nada en absoluto. Pero lo usa para establecer la información de ensamblaje, como la versión, el título, el guid, etc. ... – ranthonissen

5

Tuve el mismo error con un proyecto que no tiene ningún archivo .cs. Lo resuelto mediante la adición de la siguiente sección correspondiente a la .csproj-archivo:

<PropertyGroup> 
    <CoreBuildDependsOn> 
    </CoreBuildDependsOn> 
    </PropertyGroup> 

De esta manera no se construirá el proyecto, y no habrá acumulación de salida (no se crea un archivo DLL) funciona tanto VS y TFS.

Cuestiones relacionadas