Microsoft.DotNet.Props не найден

90

У меня возникла ошибка при загрузке решения проекта .net. ошибка будет как

The imported project "C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" was not found.Confirm that the path in the <Import> declaration is correct, and that the file exist on disk.

Как решить эту проблему?

Navaneethan
источник
4
Как говорит @MuazzamAli ниже, это начало происходить для меня после того, как я установил Visual Studio 2017, а затем вернулся к открытию проекта с помощью Visual Studio 2015.
jmb-mage

Ответы:

124

Хотя на этот вопрос уже дан ответ. Недавно я столкнулся с той же проблемой. Более конкретный ответ заключается в том, что вам необходимо установить Visual Studio 2015 Tools (Preview 2):

https://www.microsoft.com/net/download/core

Прямое скачивание:

https://go.microsoft.com/fwlink/?LinkId=827546

Поскольку это было непросто, и я работал над основным проектом dotnet 1.1, я случайно пропустил этот шаг и установил только Windows SDK. Я сообщил о проблеме здесь:

https://github.com/dotnet/core/issues/378

Джон Дуглас
источник
11
Спасибо за это. Если у вас VS2017, вы также должны отредактировать файл globals.json, указав в "sdk": { "version": "1.0.0-preview2-003121" }противном случае xproj попытается использовать версию выпуска инструментов, которая не поддерживает xproj (в отличие от версии preview2, которая поддерживает). См. Github.com/dotnet/cli/blob/rel/1.0.0/Documentation/…
Джаред Мур,
1
@JaredMoore, это должен быть global.json вместо globals.json ( github.com/dotnet/cli/issues/4683 )
samAlvin
2
В дополнение, для Visual Studio 2015 Tools (Preview 2) сначала необходимо установить Visual Studio 2015 Update 3 . Вот прямая ссылка для скачивания на случай, если кому-то это понадобится: Visual Studio 2015 Update 3
Лео,
20

Вам необходимо установить предварительную версию инструментария Microsoft .NET Core 1.0.1 (текущая версия - Preview 2).

Джей Хайбатов
источник
У вас есть ссылка?
Андреас
3
Я специально не включил никаких ссылок, так как инструментарий .NET Core обновляется так часто, что ссылки будут указывать на устаревшую версию. AFAIK, VS2017 включает в себя все необходимые инструменты .NET Core, поэтому нет необходимости в отдельной установке инструментария.
Джей Хайбатов,
13

Если вы недавно установили VS 2017 и получили эту ошибку, а в вашем проекте использовался project.json, вероятно, вам нужно обновить решение до csproj, а не до старого формата project.json. Если вы откроете проект в vs2017, он должен обновить его автоматически. Прочтите эту статью, если вам нужна дополнительная информация Project-json для csproj

Фрэнк Кэннон
источник
4
Пока я обновил два проекта, но по какой-то причине инструмент миграции не переименовывает .xproj в .csproj в файле .sln. Я вручную внес это изменение, и проект успешно загрузился.
Mark G
@MarkG: Добавьте «переименовать .xproj в .csproj в файле .sln» в качестве отдельного ответа, это
Майкл
6

Опция 1:

Установите DotNetCore.1.0.1-VS2015Tools.Preview2.0.3. Вы можете остаться в xproj.

Вариант 2:

Установите Visual Studio 2017 и выполните автоматическое обновление с xproj до csproj.

Вариант 3:

Выполните следующие действия, чтобы перейти с xproj на csproj и остаться в Visual Studio 2015.

Предупреждение: Используя описанный ниже процесс, вы не сможете использовать VS2015 для загрузки PCM web. Вместо этого вам нужно придерживаться и работать с DOTNET CLI (Command Line Prompt) или VSCode IDE

Шаг 1. Загрузите и установите .NET Core по этой ссылке https://www.microsoft.com/net/download/core

Шаг 2: перейдите к global.json . Измените номер версии на версию, установленную на ПК (для моего компьютера это так 1.0.1).

Old:
{
  "projects": [ "Source" ],
  "sdk": { "version": "1.0.0-preview2-003131" }
}

New:
{
  "projects": [ ""Source" ],
  "sdk": { "version": "1.0.1-*" }
}

Шаг 3: перейдите в командную строку от имени администратора и запустите команду

dotnet migrate
dotnet restore
dotnet build
dotnet run
Вивек Натараджан
источник
4

Кажется, что Microsoft полностью изменила структуру решения в VS2017 ... Вот как я решил проблему в VS2017:

  • Открыл файл .sln
  • В строке "Проект (" {9A19103F-16F7-4668-BE54-9A1E7A4F7556} ") = 'NNN', 'NNN.xproj' ..." - заменил "NNN.xproj" на "NNN.csproj", и ... вуала!

Надеюсь, это поможет.

Алекс М.
источник
Это помогло мне открыть проект VS2015 в VS 2017. Спасибо
myro
4

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

краткое обновление моей текущей настройки: у меня были установлены VS2015 и VS2017. Я использовал VS2015 с .net Core SDK 1.0.0-preview2-003133, который содержит .Net Core 1.0.1. После установки VS 2017 он автоматически установил .Net Core 1.1.0 и установил его как версию .Net Core по умолчанию на моем ПК, что привело ко всем проблемам.

надеюсь, другие тоже сочтут это полезным :)

исполняемый файл не найден соответствующей команде dotnet projectmodel server

разработка двух версий net core sdk side

vivek86
источник
2

Я столкнулся с этой проблемой после того, как установил версию сообщества VS2017. Вот как я решил проблему: Перейдите в эту папку: C: \ Program Files \ dotnet \ sdk Найдите папку с именем: 1.0.0 и переименуйте ее в xx.xx.xx

По какой-то причине VS2015 переключается обратно (или по умолчанию) в эту папку после установки VS2017, поэтому переименование заставляет VS2015 искать в других папках. Это то, что у меня в global.json: "sdk": {"version": "1.0.0-preview2-003131"}

Обновлено: вам нужно будет изменить имя папки обратно на 1.0.0 при переходе на VS2017. Мне пришлось переименовать его обратно, чтобы перенести мое решение vs2015 .Net Core на 2017 год.

МуаззамАли
источник
У меня также была эта проблема после установки VS2017 и попытки вернуться к открытию проектов с VS2015.
jmb-mage