Nie znaleziono Microsoft.DotNet.Props

90

Wystąpił błąd podczas ładowania rozwiązania projektu .net. błąd będzie podobny

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.

Jak rozwiązać ten problem?

Navaneethan
źródło
4
Jak mówi @MuazzamAli poniżej, zaczęło się to dziać po zainstalowaniu programu Visual Studio 2017, a następnie powrocie do otwierania projektu w programie Visual Studio 2015.
jmb-mage

Odpowiedzi:

124

Chociaż na to pytanie już odpowiedziano. Niedawno natknąłem się na ten sam problem. Bardziej szczegółową odpowiedzią jest to, że musisz zainstalować Visual Studio 2015 Tools (Preview 2):

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

Bezpośrednie pobieranie:

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

Ponieważ nie było to proste i pracowałem nad projektem rdzenia dotnet w wersji 1.1, przypadkowo pominąłem ten krok i zainstalowałem tylko Windows SDK. Zgłosiłem problem tutaj:

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

Jon Douglas
źródło
11
Dzięki za to. Jeśli masz VS2017, musisz również edytować plik globals.json, aby określić, w "sdk": { "version": "1.0.0-preview2-003121" }przeciwnym razie xproj spróbuje użyć wydanej wersji narzędzi, która nie obsługuje xproj (w przeciwieństwie do wersji Preview2, która to robi). Zobacz github.com/dotnet/cli/blob/rel/1.0.0/Documentation/…
Jared Moore
1
@JaredMoore powinno to być global.json zamiast globals.json ( github.com/dotnet/cli/issues/4683 )
samAlvin
2
Dodatkowo, Visual Studio 2015 Tools (wersja zapoznawcza 2) wymaga najpierw zainstalowania programu Visual Studio 2015 Update 3 . Oto bezpośredni link do pobrania na wypadek, gdyby ktoś go potrzebował: Visual Studio 2015 Update 3
Leo,
20

Musisz zainstalować wersję zapoznawczą narzędzi Microsoft .NET Core 1.0.1 (bieżąca to wersja zapoznawcza 2).

Jay Haybatov
źródło
Czy masz link?
Andreas
3
Celowo nie umieściłem żadnych linków, ponieważ narzędzia .NET Core są aktualizowane tak często, że łącza wskazywałyby na nieaktualną wersję. AFAIK, VS2017 zawiera wszystkie niezbędne narzędzia .NET Core, więc nie ma potrzeby oddzielnej instalacji narzędzi.
Jay Haybatov,
13

Jeśli niedawno zainstalowałeś VS 2017 i pojawia się ten błąd, a Twój projekt używa project.json, prawdopodobnie musisz uaktualnić swoje rozwiązanie do csproj, a nie do starego formatu project.json. Jeśli otworzysz projekt w vs2017, powinien on zaktualizować go automatycznie. Sprawdź ten artykuł, jeśli potrzebujesz więcej informacji Project-json to csproj

Frank Cannon
źródło
4
Jak dotąd zaktualizowałem dwa projekty, ale z jakiegoś powodu narzędzie do migracji nie zmienia nazwy .xproj na .csproj w pliku .sln. Wprowadziłem tę zmianę ręcznie, a projekt został pomyślnie załadowany.
Mark G
@MarkG: Dodaj „zmień nazwę .xproj na .csproj w pliku .sln” jako oddzielną odpowiedź, to rozwiązało mój problem
Michael Freidgeim
6

Opcja 1:

Zainstaluj DotNetCore.1.0.1-VS2015Tool.Preview2.0.3. Możesz zostać w xproj.

Opcja 2:

Zainstaluj program Visual Studio 2017 i automatycznie uaktualnij z xproj do csproj.

Wariant 3:

Wykonaj poniższe kroki, aby uaktualnić z xproj do csproj i pozostać w programie Visual Studio 2015.

Ostrzeżenie: Korzystając z poniższego procesu, nie będziesz mógł używać VS2015 do ładowania sieci PCM. Zamiast tego musisz trzymać się i pracować z DOTNET CLI (wiersz poleceń) lub VSCode IDE

Krok 1: Pobierz i zainstaluj .NET Core z tego linku https://www.microsoft.com/net/download/core

Krok 2: Przejdź do global.json. Zmień numer wersji na wersję zainstalowaną na komputerze (dla mojego komputera tak jest 1.0.1).

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

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

Krok 3: Przejdź do wiersza polecenia jako administrator i uruchom polecenie

dotnet migrate
dotnet restore
dotnet build
dotnet run
Vivek Natarajan
źródło
4

Wygląda na to, że Microsoft całkowicie zmienił strukturę rozwiązania w VS2017 ... Tak rozwiązałem problem w VS2017:

  • Otwarto plik .sln
  • W wierszu „Projekt (" {9A19103F-16F7-4668-BE54-9A1E7A4F7556} ") = 'NNN', 'NNN.xproj' ..." - zastąpiono "NNN.xproj" "NNN.csproj", i ... vuala!

mam nadzieję, że to pomoże.

Alex M.
źródło
Pomogło mi to otworzyć projekt VS2015 w VS 2017. Dziękuję
myro
4

Wiem, że jestem dość spóźniony na imprezę, ale jako ktoś, kto wielokrotnie napotykał te problemy, te 2 artykuły naprawdę pomogły mi w zrozumieniu, dlaczego te problemy się wydarzyły w pierwszej kolejności i jak je naprawić.

krótka aktualizacja dotycząca mojej obecnej konfiguracji: miałem zainstalowane zarówno VS2015, jak i VS2017. Używałem VS2015 z .net Core SDK 1.0.0-preview2-003133, który zawiera .Net Core 1.0.1. Po zainstalowaniu VS 2017 automatycznie zainstalował .Net Core 1.1.0 i ustawił go jako domyślną wersję .Net Core na moim komputerze, co doprowadziło do wszystkich problemów.

mam nadzieję, że inni też uznają to za przydatne :)

nie znaleziono pliku wykonywalnego zgodnego z serwerem modelu projektu dotnet

opracowanie dwóch wersji net core sdk

vivek86
źródło
2

Napotkałem ten problem po zainstalowaniu wersji społeczności VS2017. Oto jak rozwiązałem problem: Przejdź do tego folderu: C: \ Program Files \ dotnet \ sdk Znajdź folder o nazwie: 1.0.0 i zmień jego nazwę na xx.xx.xx

Z jakiegoś powodu VS2015 przełącza się z powrotem (lub domyślnie) do tego folderu po zainstalowaniu VS2017, więc zmiana nazwy wymusza na VS2015 przeszukiwanie innych folderów. Oto co mam w moim pliku global.json: "sdk": {"version": "1.0.0-preview2-003131"}

Zaktualizowano: będziesz musiał zmienić nazwę folderu z powrotem na 1.0.0 po przejściu na VS2017. Musiałem zmienić jego nazwę z powrotem, aby przeprowadzić migrację mojego rozwiązania vs2015 .Net Core do 2017.

MuazzamAli
źródło
Miałem też ten problem po zainstalowaniu VS2017 i próbie powrotu do otwierania projektów z VS2015.
jmb-mage