visual-studio-2008 - argumentos - msbuild cli
El error "la propiedad de salida no está configurada para este proyecto" (25)
Tengo una solución de proyectos múltiples en Visual Studio 2008. Acabo de agregar una nueva Configuración llamada Release-VersionIncrement a la solución, especificando la configuración de "uso de lanzamiento" como línea de base. Todos los archivos del proyecto se actualizaron con esa configuración. Sin embargo, cuando intento compilar un proyecto específico utilizando esta configuración, aparece el siguiente error:
Error 5 La propiedad OutputPath no está configurada para este proyecto. Verifique que haya especificado una combinación de Configuración / Plataforma válida. Configuración = ''Release-VersionIncrement'' Platform = ''AnyCPU'' C: / WINDOWS / Microsoft.NET / Framework / v3.5 / Microsoft.Common.targets 539 9 DataConversion
¿Que esta pasando aqui? El proyecto compila bien en la configuración de Liberación o Depuración.
Al igual que " Richard Dingwall " insinuado, el problema está relacionado con VS usando la versión de visualización de " Cualquier CPU " en lugar de la versión de MSBuild que realmente dice " AnyCPU "
Vaya a Crear / Crear nueva definición o Editar definición de compilación -> Proceso -> Configuraciones para compilar, abra el cuadro de diálogo de selección de configuración y en " Plataforma " en lugar de seleccionar " Cualquier CPU ", agregue manualmente " AnyCPU "
Como Scott S, tuve que eliminar la variable de entorno "Plataforma" .
Luego reinicia VS, y está bien: no hay más mensaje de error ...
Como se dijo, OutputPath debe establecerse Y debe colocarse antes de <Import Project="$(WixTargetsPath)" />
en el archivo .wixproj
Creé un nuevo proyecto en una nueva solución que hace referencia a proyectos existentes. Este error ocurre cuando agrego un proyecto existente (digamos el proyecto 1) y trato de construir sin agregar otros proyectos que proyectan 1 referencia.
Solo asegúrese de que todos los proyectos relacionados se agreguen a la nueva solución y el error desaparezca.
Cuando agregué una nueva configuración de solución en mi solución, recibí un error: "La propiedad OutputPath no está configurada para el proyecto X. Verifique que haya especificado una combinación válida de Configuración y Plataforma para este proyecto. Configuración = ''QA ''Platform ='' AnyCPU ''. Este error también puede aparecer si algún otro proyecto intenta seguir una referencia de proyecto a proyecto a este proyecto, este proyecto ha sido descargado o no está incluido en la solución, y el proyecto de referencia no lo hace construir usando la misma o una Configuración o Plataforma equivalente. ProjectY ".
En mi caso, el problema se debió a una parte resaltada de la descripción del error. El proyecto X parte de mi solución consistía en tener una referencia de proyecto de ProjectY de otra solución (rama diferente).
Resolví este problema modificando el proyecto X para usar la referencia del proyecto a ProjectY en la solución actual. Espero que esto ayude a alguien a tener problemas similares.
El problema tenía que ver con la configuración de mi proyecto. Aquí está el escenario:
Referencias de la Solución A:
Proyecto X hace referencia al Proyecto Y
Proyecto Y
La solución B (la que estoy tratando de construir) hace referencia a:
Proyecto X Proyecto Z
Mi solución fue crear una configuración con el mismo nombre para la Solución A, reconstruirla y luego reconstruir la Solución B. Esto solucionó el problema.
En mi caso (VS2010) eliminé una cadena en el cuadro "OutputPath" que está en la pestaña "Build" y la dejé en blanco. Luego reconstruí la solución. La compilación fue exitosa y VS ha insertado el directorio actual "./" en el "OutputPath". Reemplacé el directorio actual "./" con mi ruta ("bin / x64 / Release /" - basta decir que esta es la ruta de la carpeta exacta de la que VS se quejaba en primer lugar) y la reconstrucción fue exitosa nuevamente.
En mi caso, OutputPath fue propiedad de los archivos del proyecto. Pero la descarga, la recarga y la reconstrucción lo arreglaron.
En mi caso, el nuevo bloque XML "PropertyGroup" se generó en la parte inferior del documento. Lo acabo de reemplazar después de otras etiquetas "PropertyGroup" y esto resolvió el problema.
En mi caso, traté de mover el grupo de propiedades que contenía mi configuración personalizada por debajo de las estándar. Lo resolvió para mí.
En nuestro caso, estábamos ejecutando un script de construcción en nuestros cuadros de desarrolladores de HP. HP tiene algunas variables de entorno que han configurado para sus propios fines y una de ellas es PLATAFORMA (utilizada, al parecer, para "Configuración fácil de HP").
Borrando la variable de entorno PLATFORM funcionó.
También podría proteger su secuencia de comandos de construcción en el futuro especificando la plataforma, es decir,
msbuild /p:Platform=AnyCPU
.
Estaba agregando la plataforma x64 a mi solución hoy, cuando me encontré con este problema.
En mi caso, el error decía:
Construido $ / ProjectDirectory / ProjectName.csproj para objetivos predeterminados. c: / Windows / Microsoft.NET / Framework / v4.0.30319 / Microsoft.Common.targets (484): la propiedad OutputPath no está establecida para el proyecto ProjectName.csproj ''. Verifique que haya especificado una combinación válida de Configuración y Plataforma para este proyecto. Configuración = ''Debug'' Platform = ''x64''. Es posible que vea este mensaje porque está tratando de crear un proyecto sin un archivo de solución y ha especificado una configuración o plataforma no predeterminada que no existe para este proyecto.
Sabía que OutputPath
debería estar bien, ya que esta era una solución VS existente y funcional. Así que pasé a la siguiente sugerencia: "una combinación válida de configuración y plataforma".
Aha! Visual Studio intenta crear Configuration=''Debug'', Platform=''x64''
. Al mirar mi archivo de proyecto, me di cuenta de que x64 no figuraba como una de las plataformas posibles. En otras palabras, tenía las siguientes entradas (acortadas):
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Debug|x86'' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin/x86/Debug/</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Release|x86'' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin/x86/Release/</OutputPath>
. . .
</PropertyGroup>
Solución fácil: ¡solo agrega x64 entradas!
Copié / pegué las entradas x86 y las cambié para usar x64. Tenga en cuenta que también modifiqué las rutas para que no sobrescriban las compilaciones x86:
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Debug|x64'' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin/x64/Debug/</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Release|x64'' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin/x64/Release/</OutputPath>
. . .
</PropertyGroup>
He eliminado la variable de entorno de Platform
(era BNB o algo así). El problema se ha ido.
Luché con esto por un tiempo y luego también descargué, construí y luego recargué el proyecto ofensivo en la solución, y luego MSBuild funcionó correctamente.
Por lo general, esto ocurre cuando la propiedad OutputPath del archivo de proyecto está en blanco. Los archivos de proyecto son solo archivos de MSBuild . Para editar en Visual Studio: haga clic con el botón derecho en el proyecto, elija "Descargar proyecto", luego haga clic con el botón derecho en el proyecto descargado y seleccione "Editar ...".
Busque el grupo de propiedades Release-Versionincrement. Debería verse algo así como
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Release-VersionIncrement|AnyCPU'' ">
<OutputPath>bin/Release-VersionIncrement/</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
Lo importante allí es OutputPath, ¿existe para su archivo de proyecto? Si no, agrégalo y vuelve a intentarlo.
Si Visual Studio se queja específicamente de que "Plataforma = ''BPC''", puede solucionarlo fácilmente eliminando la variable de entorno "Plataforma".
Ahora reinicie Visual Studio y estará listo.
Si alguien está obteniendo este en sus registros NCrunch, compruebe si el PropertyGroup
define los valores ''Debug'' / ''Release'' y ''AnyCPU'' / ''x86'' ubicados antes de los grupos de propiedades usando esos valores en su condición.
<PropertyGroup>
<!-- this one first -->
<Configuration Condition=" ''$(Configuration)'' == '''' ">Debug</Configuration>
<Platform Condition=" ''$(Platform)'' == '''' ">AnyCPU</Platform>
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="''$(Configuration)|$(Platform)'' == ''Debug|x86''">
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="''$(Configuration)|$(Platform)'' == ''Debug|AnyCPU''">
<XXX>...</XXX>
</PropertyGroup>
Trabajó para mi.
Si decide establecer OutputPath como un parámetro, y su ruta es como: bin/Release//
entonces recuerde agregar /
al final así: /p:OutputPath=bin/Release////
me llevó un tiempo darse cuenta de que era el caso
También he visto este error cuando nuestro agente de compilación se configuró para ejecutar la plataforma " Cualquier CPU " (con espacios como se muestra en Visual Studio) en lugar de " AnyCPU " (una palabra como se especifica en el archivo del proyecto).
Tenía este mismo mensaje de error. Fue causado por tener una referencia a un proyecto que fue descargado y no requerido por el enlazador (de lo contrario, habría fallado en el momento de la compilación). La eliminación de la referencia ofensiva resolvió el problema.
Tuve el mismo error, así que busqué en la configuración del proyecto y allí, en la sección "Crear", está la opción "Crear ruta de salida". Y el valor estaba vacío. Así que llené el valor "bin /" desapareció un error. Solucionó mi problema.
Tuve el mismo problema cuando usé MSBuild primero. Mi solución es: usar definitivamente la propiedad OutputPath. Me gusta esto:
msbuild XXX.csproj /p:OutputPath=bin/Debug.
Tuve el mismo problema, lo arreglé agregando configuraciones faltantes al proyecto que estaba fallando.
BUILD -> Configuration Manager ->
En Agregar columna de configuración
Nota: Esto solo sucedió porque tengo una configuración personalizada y los proyectos recién creados no tienen la configuración.
Tuve el mismo problema, y la única solución que me ayudó fue establecer la configuración de compilación manualmente en cada proyecto de NCrunch.
Abra la ventana NCrunch, donde puede ver el estado de cada compilación y donde puede ver que la compilación falla. Haga clic derecho en el proyecto que no se puede construir y haga clic en "configurar el componente seleccionado" en "Propiedades de compilación", la propiedad "Usar configuración de compilación" configurarlo, por ejemplo, "Depurar" y la propiedad "Usar plataforma de compilación" configurarlo para por ejemplo, "AnyCPU". (Tenga en cuenta que los ajustes de compilación y configuración que configuró deben existir en su configuración de configuración)
Haga esto para todos sus proyectos, pero no para su proyecto de prueba. Después de esto, todo funciona bien para mí.
Yo tuve el mismo problema. Lo arreglé por limpio y reconstruí los proyectos.