Estoy creando un proyecto a través de la línea de comandos y no dentro de Visual Studio 2013. Tenga en cuenta que había actualizado mi proyecto de Visual Studio 2012 a 2013. El proyecto se construye bien dentro del IDE. Además, desinstalé completamente VS2012 primero, reinicié e instalé VS2013. La única versión de Visual Studio que tengo es 2013 Ultimate.
ValidateProjects:
39>path_to_project.csproj(245,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
39>Done Building Project "path_to_project.csproj" (Clean target(s)) -- FAILED.
Aquí están las dos líneas en cuestión:
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
La segunda línea original era v10.0, pero la cambié manualmente a v12.0.
$ (VSToolsPath) se alarga de lo que veo a la carpeta v11.0 (VS2012), que obviamente ya no existe. La ruta debería haber sido a v12.0.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\
Intenté especificar VSToolsPath en la tabla de variables de entorno de mi sistema, pero la utilidad de compilación externa todavía usa v11.0. Traté de buscar a través del registro y eso no encontró nada.
Lamentablemente, no veo ninguna manera fácil de obtener la línea de comando exacta utilizada. Yo uso una herramienta de construcción.
Pensamientos?
fuente
Respuestas:
Tuve el mismo problema y encuentro una solución más fácil
Se debe a que Vs2012 agregó lo siguiente al archivo csproj:
Puede eliminar esa parte de forma segura y su solución se construirá.
De lo contrario, si necesita usar webdeploy o un servidor de compilación, la solución anterior no funcionará, pero puede especificar la
VisualStudioVersion
propiedad en su script de compilación:o edite su definición de compilación:
fuente
También tuve esto y puedes solucionarlo configurando la versión de herramientas en tu definición de compilación.
Esto es muy fácil de hacer. Abra su definición de compilación y vaya a la página " Proceso ". Luego, bajo el grupo " 3. Avanzado ", tiene una propiedad llamada " Argumentos MSBuild ". Coloque el parámetro allí con la siguiente sintaxis
Si tiene más parámetros, sepárelos con un espacio y no con una coma.
fuente
Esto está estrechamente relacionado, pero puede o no solucionar el problema específico de los OP. En mi caso, estaba tratando de automatizar la implementación de un sitio de Azure con VS2013. Sin embargo, construir e implementar a través de VS funciona, utilizando MSBuild mostró un error similar en torno a los "objetivos". Resulta que MSBuild es diferente bajo VS2013, y ahora es parte de VS y no del .Net Framework (ver http://timrayburn.net/blog/visual-studio-2013-and-msbuild/ ). Básicamente, use la versión correcta de MSBuild:
ANTIGUO, VS2012
NUEVO VS2013
Más nuevo, VS2015
Más nuevo aún, VS2017 (no se está probando completamente, pero se descubrió; han cambiado un poco las cosas)
fuente
Acabo de recibir una respuesta de Kinook, quien me dio un enlace :
Básicamente, necesito llamar a los siguientes antes de bulding. Supongo que Visual Studio 2013 no registra automáticamente el entorno primero, pero 2012 sí, o lo hice y lo olvidé.
Con suerte, esta publicación ayuda a alguien más.
fuente
node-gyp
laCpp default.props
que no se encontró nada +1La solución de giammin es parcialmente incorrecta. Usted NO DEBE eliminar todo ese PropertyGroup de su solución. Si lo hace, la función "DeployTarget = Package" de MSBuild dejará de funcionar. Esta característica se basa en la configuración de "VSToolsPath" .
fuente
Tuve este problema para nuestros objetivos FSharp (FSharpTargetsPath estaba vacío).
Muchas de las rutas se crean con referencia a la versión VS.
Por varias razones, nuestra compilación se ejecuta con privilegios del sistema, y la variable de entorno "VisualStudioVersion" solo fue establecida (por el instalador VS 2013) en el nivel de "usuario", lo cual es bastante justo.
Asegúrese de que la "
VisualStudioVersion
" variable de entorno esté establecida en "12.0
" en el nivel (Sistema o Usuario) en el que se está ejecutando.fuente
System
desde el Panel de control, luego seleccioneAdvanced system settings
y finalmente haga clicEnvironment Variables
Ejecutar esto en la línea de comandos también solucionará el problema. SETX VisualStudioVersion "12.0"
fuente
Si migra Visual Studio 2012 a 2013, abra el archivo de proyecto * .csprorj con edior.
y marque el elemento ToolsVersion de la etiqueta 'Proyecto'.
Ese es el valor 4.0
Usted llega a 12.0
De
A
O bien, si crea con msbuild, simplemente especifique la propiedad VisualStudioVersion
fuente
Estaba usando una utilidad de compilación externa. Piensa en algo así como hormigas, si entiendo el producto correctamente, solo una versión comercial. Tuve que contactar al fabricante para obtener la respuesta.
Como resultado, hay una macro global en el proyecto, DEVSTUDIO_NET_DIR. Tuve que cambiar el camino a .Net allí. Enumeran varias versiones de estudio visual como "Acciones", que a través de mí, pero todos los caminos conducen a esa variable global detrás de escena. Lo mencionaría como un defecto en el producto, si me saliera con la mía, a menos que me falte algo en mi entendimiento. Corregir la ruta allí solucionó el problema de compilación.
fuente
Tengo instalado Visual Studio 2013. Esto funcionó para mí:
Así que he cambiado la condición de
==
a!=
y el valor de10.0
a12.0
.fuente
Tuve un problema similar. Todas las soluciones propuestas se solucionan para este problema pero no resuelven la fuente de error. La solución @giammin no se debe aplicar si está utilizando el servidor de compilación tfs, ya que se acaba de bloquear la funcionalidad de publicación. Solución @ cat5dev: resuelve el problema pero no resuelve la fuente del mismo.
Estoy casi seguro de que está utilizando la plantilla de proceso de compilación para VS2012, ya que
ReleaseDefaultTemplate.11.1.xaml or DefaultTemplate.11.1.xaml
estas plantillas de compilación se han creado para VS2012 y $ (VisualStudioVersion) configurado en 11.0Usted debe utilizar la plantilla proceso de construcción de VS2013
ReleaseTfvcTemplate.12.xaml or TfvcTemplate.12.xaml
que ha fijado $ (VisualStudioVersion) a 12,0Esto funciona sin cambios en el archivo del proyecto.
fuente
También tuve el mismo error ... hice esto para solucionarlo
cambiar a
Y ya está hecho.
fuente
En mi caso, solo comento debajo de la línea abriendo el archivo .csproj e hice el truco
.
<!-- <Import Project="..\PRPJECTNAME.targets" /> -->
Mi problema puede ser diferente, pero me arrastran aquí, pero esto puede ayudar a alguien.
Elegí un solo proyecto web de mi solución e intenté abrirlo como un proyecto independiente que estaba causando problemas, después de lo anterior, puedo resolver el problema.
fuente
Use la versión correcta de MSBuild. Establezca la variable de entorno en:
Esto también funcionará para proyectos VS 2019
Anteriormente lo estábamos configurando en
C:\Windows\Microsoft.NET\Framework\v4.0.30319
fuente
En mi caso, el entorno de desarrollo es VS2013 y estoy usando TFS 2010. Build estaba dirigido a .NET 4.5.1. Estaba configurando la compilación automática para CI. cada vez que intentaba las soluciones mencionadas anteriormente, como eliminar el grupo de propiedades por completo o reemplazar algunas líneas, etc., mi compilación solía ocurrir en TFS, pero mi publicación en azul solía fallar con 'MSDeploy' o, a veces, algún error diferente. No pude lograr ambas cosas simultáneamente.
Así que finalmente tuve que pasar el argumento de MSBuild para resolver el problema.
Ir a Editar definición de compilación> Proceso> 3. Avanzado> Argumentos de MSBuild (establecido en) /p:VisualStudioVersion=12.0
Funcionó para mi.
fuente
Debe copiar las aplicaciones web de carpeta de C: \ Archivos de programa (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ a C: \ Archivos de programa (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \
fuente
usted encontrará
en el archivo csproj para el que aparece este error. Simplemente elimine esto de csproj y luego compile.
fuente
Solo se necesita hacer una cosa para resolver el problema: actualizar TeamCity a la versión 8.1.xo superior porque el soporte para Visual Studio 2012/2013 y MSBuild Tools 2013 solo se introdujo en TeamCity 8.1. Una vez que haya actualizado su TeamCity, modifique la configuración de Versión de MSBuild Tools en su paso de compilación en consecuencia y el problema desaparecerá. Para obtener más información, lea aquí: http://blog.turlov.com/2014/07/upgrade-teamcity-to-enable-support-for.html
fuente
Yo: nada ayudaba a cambiar el valor v11.0 de la variable VisualStudioVersion a v10.0. Cambiar la variable en el archivo .csproj no lo hizo. Configurarlo a través de la solicitud de comando no lo hizo. Etc ...
Terminé copiando mi carpeta local de esa versión específica (v11.0) en mi servidor de compilación.
fuente
Había probado todas las soluciones anteriores y todavía no tuve suerte. Había escuchado a personas instalar Visual Studio en sus servidores de compilación para solucionarlo, pero solo tenía 5 gb de espacios libres, así que simplemente copié C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio en mi servidor de compilación y lo llamé un día . Comenzó a trabajar después de eso, usando Team City 9.xy Visual Studio 2013.
fuente
Basado en TFS 2015 Build Server
Si contrarrestas este error
... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Abra el
.csproj
archivo del proyecto nombrado en el mensaje de error y comente la sección a continuación<!-- <PropertyGroup> --> <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> --> <!-- <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> --> <!-- </PropertyGroup> -->
fuente
Recibí este error cuando instalo algunos componentes VS. Lamentablemente, ninguna de estas respuestas no me ayudó. Uso TFS para el desarrollo de comandos y no tengo permisos para editar la definición de compilación. Resolví este problema eliminando variables de entorno que llamaban
VS110COMNTOOLS
yVS120COMNTOOLS
. Creo que se instaló con mis componentes VS.fuente
Descubrí que me faltaba la carpeta WebApplications en mi PC local, no se instaló con Visual Studio 2017 como lo hacía cuando estaba usando 2012.
fuente
En mi caso estaba usando la versión incorrecta de
MSBuild.exe
.La versión que necesita usar depende de la versión de Visual Studio que utilizó para crear su proyecto. En mi caso, necesitaba 14.0 (después de haber usado Visual Studio 2015).
Esto se encontró en:
Puedes mirar debajo:
Para encontrar otras versiones.
fuente