External VS2013 build error " error MSB4019: El proyecto importado no se encontró"


Estoy construyendo 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, primero desinstalé completamente VS2012, 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 cambié manualmente a v12. 0.

$(VSToolsPath) se alarga de lo que veo a la carpeta v11.0 (VS2012), que obviamente ya no está allí. La ruta debería haber sido a v12.0.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\

Intenté especificar VSToolsPath en mi tabla de variables de entorno del sistema, pero la utilidad de compilación externa todavía usa v11.0. Intenté buscar en el registro y no se me ocurrió nada.

Lamentablemente, no veo ninguna manera fácil de obtener la línea de comandos exacta utilizada. Yo uso un build herramienta.

Pensamientos?

Author: Josh M., 2013-11-01

23 answers

Tuve el mismo problema y encontrar una solución más fácil

Se debe a que Vs2012 agregó en el archivo csproj esta parte:

<PropertyGroup>
  <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

Puede quitar esa parte de forma segura y su solución se construirá.

Como Sielu señaló usted tiene que asegurarse de que el .inicio del archivo proj con <Project ToolsVersion="12" de lo contrario, la próxima vez que abra el proyecto con visual studio 2010, se añadirá el nodo eliminado de nuevo.

De lo contrario, si necesita usar webdeploy o usar una compilación servidor la solución anterior no funcionará, pero puede especificar la propiedad VisualStudioVersion en su script de compilación:

msbuild myproject.csproj /p:VisualStudioVersion=12.0

O edita tu definición de compilación:

edite la definición de compilación para especificar la propiedadVisualStudioVersion < /code>

 244
Author: giammin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:48

También tenía esto y puedes arreglarlo 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" Process". Luego bajo el " 3. Advanced " grupo tiene una propiedad llamada " Argumentos MSBuild". Coloque el parámetro allí con la siguiente sintaxis

/p:VisualStudioVersion=12.0 

Si tiene más parámetros, sepárelos con un espacio y no con una coma.

 70
Author: Ralph Jansen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-06 13:28:03

Esto está estrechamente relacionado, pero puede o no solucionar el problema específico de OPs. En mi caso estaba tratando de automatizar la implementación de un sitio de Azure usando VS2013. Sin embargo, el uso de MSBuild mostró un error similar alrededor de los "objetivos". Resulta que MSBuild es diferente bajo VS2013, y ahora es parte de VS y no de. Net Framework (ver http://timrayburn.net/blog/visual-studio-2013-and-msbuild / ). Básicamente, utilice la versión correcta de MSBuild:

ANTIGUO, VS2012

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

NUEVO, VS2013

C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe

Más nuevo, VS2015

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

Más nuevo todavía, VS2017 (no está completamente probando, pero descubierto - han movido las cosas un poco)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe
 49
Author: Jester,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-28 21:16:30

Acabo de recibir una respuesta de Kinook, quien me dio un enlace :

Básicamente, necesito llamar a lo siguiente antes de construir. Supongo que Visual Studio 2013 no registra automáticamente el entorno primero, pero 2012 lo hizo, o lo hice y lo olvidé.

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86

Con suerte, este post ayuda a alguien más.

 22
Author: Sarah Weinberger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-31 23:27:24

La solución de Giammin es parcialmente incorrecta. NO DEBE eliminar todo ese grupo de propiedades de su solución. Si lo hace, La característica "DeployTarget=Package" de MSBuild dejará de funcionar. Esta característica depende de que se establezca "VSToolsPath".

<PropertyGroup>
  <!-- VisualStudioVersion is incompatible with later versions of Visual Studio.  Removing. -->
  <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> -->
  <!-- VSToolsPath is required by MSBuild for features like "DeployTarget=Package" -->
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
...
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
 21
Author: cat5dev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:32

Tuve este problema para nuestros objetivos FSharp (FSharpTargetsPath estaba vacío).

Muchas de las rutas se construyen 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 se estableció (por el instalador VS 2013) en el nivel de "usuario", lo cual es bastante justo.

Asegúrese de que la variable de entorno "VisualStudioVersion" esté establecida en "12.0" en el nivel (Sistema o Usuario) en el que se está ejecutando.

 10
Author: Scott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-13 05:56:54

Ejecutar esto en la línea de comandos solucionará el problema también. SETX VisualStudioVersion"12.0"

 6
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-22 20:59:00

Si migra Visual Studio 2012 a 2013, abra *.archivo de proyecto csprorj con edior.
y comprueba el elemento ToolsVersion de la etiqueta' Project'.

Ese es el valor 4.0
Se llega a 12.0

  • De

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0"
    
  • A

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0"
    

O si compila con msbuild, simplemente especifique la propiedad VisualStudioVersion

Msbuild /p:VisualStudioVersion=12.0

 3
Author: Kim Ki Won,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-28 09:18:57

Estaba usando una utilidad de compilación externa. Piense en algo como Hormigas, si entiendo el producto correctamente, solo una versión comercial. Tuve que contactar al fabricante para la respuesta.

Resulta que hay una macro global en el proyecto, DEVSTUDIO_NET_DIR. Tuve que cambiar el camino a. Net allí. Enumeran varias versiones de visual studio como "Acciones", que a través de mí, pero todos los caminos conducen de nuevo a esa variable global detrás de las escenas. Lo enumeraría como un defecto contra el producto, si tuviera mi camino, a menos que me falta algo en mi entendimiento. Corrigiendo la ruta allí se solucionó el problema de compilación.

 2
Author: Sarah Weinberger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-20 13:06:53

Tengo Visual Studio 2013 instalado. Esto funcionó para mí:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' != ''">12.0</VisualStudioVersion>`
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

Así que he cambiado la condición de == a != y el valor de 10.0 a 12.0.

 2
Author: pinus.acer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-10 11:54:33

Tuve un problema similar. Todas las soluciones propuestas son solo trabajo alrededor de este problema, pero no están resolviendo la fuente de error. La solución @ giammin no debe aplicarse si está utilizando el servidor de compilación de tfs, ya que solo se ha bloqueado la funcionalidad de publicación. @cat5dev solución-resuelve el problema, pero no resuelve la fuente de la misma.

Estoy casi seguro de que está utilizando la plantilla de proceso de compilación para VS2012 como ReleaseDefaultTemplate.11.1.xaml or DefaultTemplate.11.1.xaml estas plantillas de compilación se han hecho para VS2012 y $(VisualStudioVersion) establecido en 11.0

Usted debe usar la plantilla de proceso de compilación para VS2013 ReleaseTfvcTemplate.12.xaml or TfvcTemplate.12.xaml que tiene set (VisualStudioVersion) establecido en 12.0

Esto funciona sin ningún cambio en el archivo de proyecto.

 2
Author: Imaginary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-05 14:43:48

También tuve el mismo error .. Hice esto para arreglarlo

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" />

Cambiar a

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

Y está hecho.

 2
Author: Pyro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-17 07:59:16

En mi caso, solo comento debajo de la línea abriendo .csproj archivo e hizo el truco

.<!-- <Import Project="..\PRPJECTNAME.targets" /> -->

Mi problema puede ser diferente, pero estoy arrastrado aquí, pero esto puede ayudar a alguien.

Elegí un solo proyecto web de mi solución y tratar de abrirlo como un proyecto independiente que estaba haciendo problema, después de por encima de heck soy capaz de resolver el problema.

 2
Author: Usman Younas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-30 14:10:50

En mi caso el entorno dev es VS2013 y estoy usando TFS 2010. Build fue dirigido para. NET 4.5.1. Estaba preparando auto build para CI. cada vez que probé las soluciones mencionadas anteriormente, como eliminar el grupo de propiedades por completo o reemplazar algunas líneas etc.my la compilación solía ocurrir en TFS, pero mi publicación en azure solía fallar con 'MSDeploy' o, a veces, con algún error diferente. No fui capaz de lograr ambos simultáneamente.

Así que finalmente tuve que pasar el argumento de MSBuild para resolver el cuestión.

Ir a Editar definición de compilación > Proceso > 3. Avanzado > Argumentos de MSBuild (establecido en) /p:VisualStudioVersion=12.0

Funcionó para mí.

 1
Author: Vishwajit G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-18 12:13:00

Debe copiar las aplicaciones web de la carpeta desde C:\Program Archivos (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0\ to C:\Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11. 0 \

 1
Author: Tazos333,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-03 05:39:36

Usted encontrará

C:\Program Files  (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets 

En el archivo csproj para el que aparece este error. Simplemente elimine esto de csproj y luego construya.

 0
Author: Mukund,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-14 08:51:17

Solo hay que hacer una cosa para resolver el problema: actualizar TeamCity a la versión 8.1.x o superior porque la compatibilidad con Visual Studio 2012/2013 y MSBuild Tools 2013 solo se introdujo en TeamCity 8.1. Una vez que haya actualizado su configuración de versión de TeamCity modify MSBuild Tools en su paso de compilación, el problema desaparecerá. Para más información leer aquí: http://blog.turlov.com/2014/07/upgrade-teamcity-to-enable-support-for.html

 0
Author: Alex T.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-24 15:54:32

Me - nada estaba ayudando a cambiar el valor v11.0 de la variable VisualStudioVersion a v10.0. Cambio de variable en .el archivo csproj no lo hizo. Configurándolo a través del comando promt no lo hizo.Etc...

Terminé copiando mi carpeta local de esa versión específica (v11.0) a mi servidor de compilación.

 0
Author: Jurijs Kastanovs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-21 11:36:16

Había intentado todas las soluciones anteriores y todavía no hubo suerte. Había escuchado a personas instalando visual studio en sus servidores de compilación para arreglarlo, pero solo tenía 5 gb de espacios libres, así que simplemente copié C:\Program Files (x86)\MSBuild\Microsoft \ VisualStudio a mi servidor de compilación y lo llamé un día. Comenzó a trabajar después de eso, usando team city 9.x y visual studio 2013.

 0
Author: odyth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-04 07:28:08

Basado en TFS 2015 Build Server

Si contrarresta 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 archivo .csproj del proyecto nombrado en el mensaje de error y comente la sección siguiente

<!-- <PropertyGroup> --> <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> --> <!-- <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> --> <!-- </PropertyGroup> -->

 0
Author: Julius Depulla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 17:01:12

Recibí este error cuando instalo algunos componentes VS. Desafortunadamente 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 y VS120COMNTOOLS. Creo que fue instalado con mis componentes VS.

 0
Author: Joseph Katzman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-27 16:31:21

Descubrí que me faltaba la carpeta WebApplications en mi PC local, no la instalé con Visual Studio 2017 como lo había hecho cuando estaba usando 2012.

 0
Author: Kris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-28 14:56:45

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 (habiendo usado Visual Studio 2015).

Esto se encontró en:

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

Puedes buscar en:

C:\Program Files (x86)\MSBuild

Para encontrar otras versiones.

 0
Author: EM-Creations,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-03 15:35:27