c# visual studio - Внешняя ошибка сборки VS2013 "ошибка MSB4019: импортированный проект <путь> не найден"





11 Answers

У меня тоже было это, и вы можете исправить это, установив версию инструментов в своем определении сборки.

Это очень легко сделать. Откройте определение сборки и перейдите на страницу « Процесс ». Затем в группе « 3. Дополнительно » у вас есть свойство « MSBuild Arguments ». Поместите параметр там со следующим синтаксисом

/p:VisualStudioVersion=12.0 

Если у вас больше параметров, отделите их пробелом, а не запятой.

скачать basic.net microsoft®

Я создаю проект через командную строку, а не внутри Visual Studio 2013. Заметьте, я обновил свой проект с Visual Studio 2012 до 2013 года. Проект строится в среде внутри IDE. Кроме того, я полностью удалил VS2012, перезагрузил и установил VS2013. Единственная версия Visual Studio, которая у меня есть, - 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.

Вот две строки, о которых идет речь:

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

Первоначальная вторая строка была v10.0, но я вручную изменил ее на v12.0.

$ (VSToolsPath) удлиняется от того, что я вижу в папке v11.0 (VS2012), которой, очевидно, больше нет. Путь должен был быть v12.0.

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

Я попытался указать VSToolsPath в таблице переменных среды системы, но внешняя сборка по-прежнему использует v11.0. Я попытался выполнить поиск в реестре и ничего не придумал.

К сожалению, я не вижу простого способа получить точную командную строку. Я использую инструмент построения.

Мысли?




Я только что получил ответ от Кинука, который дал мне link :

В принципе, мне нужно вызвать следующее перед запуском. Я предполагаю, что Visual Studio 2013 не будет автоматически регистрировать среду сначала, но 2012 сделал, или я сделал и забыл.

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

Надеюсь, этот пост помогает кому-то другому.




У меня была эта проблема для наших целей FSharp (FSharpTargetsPath был пуст).

Многие из путей построены со ссылкой на версию VS.

По разным причинам наша сборка работает с системными привилегиями, а переменная среды «VisualStudioVersion» была установлена ​​(установщиком VS 2013) на уровне «пользователя» - что достаточно справедливо.

Убедитесь, что переменная окружения « VisualStudioVersion » установлена ​​на « 12.0 » на уровне (система или пользователь), на котором вы работаете.




Если вы переносите Visual Studio 2012 на 2013 год, откройте файл проекта .csprorj с edior.
и проверьте элемент ToolsVersion элемента «Project».

Это значение 4.0
Вы делаете это до 12.0

  • От

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

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

Или, если вы создаете с помощью msbuild, просто укажите свойство VisualStudioVersion

msbuild /p: VisualStudioVersion = 12.0




У меня установлена ​​Visual Studio 2013. Это сработало для меня:

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

Поэтому я изменил условие от == до != И значение от 10.0 до 12.0 .




У меня также была такая же ошибка. Я сделал это, чтобы исправить это

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

изменить на

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

и все сделано.




В моем случае среда dev - VS2013, и я использую TFS 2010. Build была нацелена на .NET 4.5.1. Я настраивал автоматическую сборку для CI. всякий раз, когда я пробовал обходные решения, упомянутые выше, - например, полностью удалять группу свойств или заменять некоторые строки и т. д. Моя сборка используется в TFS, но моя публикация в azure используется для отказа с «MSDeploy» или иногда с какой-то другой ошибкой. Я не мог достичь одновременно.

Поэтому, наконец, мне пришлось передать аргумент MSBuild для решения проблемы.

Перейти к Редактировать определение сборки> Процесс> 3. Дополнительно> Аргументы MSBuild (установлены в) /p:VisualStudioVersion=12.0

Это сработало для меня.




ты найдешь

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

в файле csproj, для которого появляется эта ошибка. Просто удалите это из csproj, а затем создайте.




Me - ничто не помогло изменить значение v11.0 переменной VisualStudioVersion до версии 10.0. Изменение переменной в файле .csproj не помогло. Установка его командой commandt не сделала. Так далее...

Закончилось копирование моей локальной папки этой версии (v11.0) на мой сервер сборки.




На основе сервера сборки TFS 2015 Build

Если вы ... 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. эту ошибку ... 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. ... 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.

Откройте файл .csproj проекта, указанный в сообщении об ошибке, и закомментируйте раздел ниже

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




Я обнаружил, что у меня отсутствует папка WebApplications на моем локальном ПК, не устанавливалась с Visual Studio 2017, как это было при использовании 2012 года.




Related