Visual Studio не будет создавать созданный им проект ASP.NET Core - PullRequest
0 голосов
/ 03 ноября 2018

Я занимаюсь разработкой ядра asp.net уже несколько недель без проблем. Сегодня утром я создал новый веб-проект API ядра ASP.NET. Он породил проект, но когда я попытался его открыть, он не открылся. Я пошел в «Установка и удаление программ» и открыл программу установки с намерением восстановить VS 2017, но заметил, что была более новая версия, поэтому я обновил.

После обновления откроется проект, но при его сборке он не будет построен. Делал ремонт VS 2017 года, все равно не собирался. Починил ядро ​​asp.net, все еще не собрал. Удалите ядро ​​asp.net, а затем переустановите. Все еще не строил.

На Microsoft.AspNetCore.Razor.Design (2.1.2) есть желтый значок предупреждения

Я в тупике. Я не получаю сообщения при сборке, кроме:

1>------ Rebuild All started: Project: EmployeeDirectory, Configuration: Release Any CPU ------
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Включение ведения журнала диагностики не дает мне намного больше, за исключением того, что оно, похоже, связано с зависимостью:

Restoring NuGet packages...
To prevent NuGet from restoring packages during build, open the Visual Studio Options dialog, click on the NuGet Package Manager node and uncheck 'Allow NuGet to download missing packages during build.'
Running restore with 8 concurrent jobs.
Reading project file C:\Software Development\EmployeeDirectory\EmployeeDirectory\EmployeeDirectory.csproj.
Restoring packages for C:\Software Development\EmployeeDirectory\EmployeeDirectory\EmployeeDirectory.csproj...
Restoring packages for .NETCoreApp,Version=v2.1...
Resolving conflicts for .NETCoreApp,Version=v2.1...
Checking compatibility of packages on .NETCoreApp,Version=v2.1.
Checking compatibility for EmployeeDirectory 1.0.0 with .NETCoreApp,Version=v2.1.
All packages and projects are compatible with .NETCoreApp,Version=v2.1.
Committing restore...
Assets file has not changed. Skipping assets file writing. Path: C:\Software Development\EmployeeDirectory\EmployeeDirectory\obj\project.assets.json
Writing cache file to disk. Path: C:\Software Development\EmployeeDirectory\EmployeeDirectory\obj\EmployeeDirectory.csproj.nuget.cache
Restore completed in 1.08 ms for C:\Software Development\EmployeeDirectory\EmployeeDirectory\EmployeeDirectory.csproj.

NuGet Config files used:
    C:\Users\pd7562\AppData\Roaming\NuGet\NuGet.Config
    C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

Feeds used:
    https://api.nuget.org/v3/index.json
    C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
NuGet package restore finished.
1>------ Rebuild All started: Project: EmployeeDirectory, Configuration: Release Any CPU ------
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Информация о моей версии:

Microsoft Visual Studio Professional 2017 
Version 15.8.8
VisualStudio.15.Release/15.8.8+28010.2048
Microsoft .NET Framework
Version 4.7.03056

Installed Version: Professional

ASP.NET and Web Tools 2017   15.8.05085.0
ASP.NET and Web Tools 2017

ASP.NET Core Razor Language Services   15.8.31590
Provides languages services for ASP.NET Core Razor.

dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

 dotnet --list-sdks
 2.1.200 [C:\Program Files\dotnet\sdk]
 2.1.202 [C:\Program Files\dotnet\sdk]
 2.1.402 [C:\Program Files\dotnet\sdk]
 2.1.403 [C:\Program Files\dotnet\sdk]

Nuget показывает, что пакеты не установлены. Если я использую диспетчер nuget для добавления пакета, он, кажется, работает, но моя проблема никогда не решается:

PM> Install-Package Microsoft.AspNetCore.Razor.Design -Version 2.1.2
Restoring packages for C:\Software Development\Angular\EmployeeDirectory\EmployeeDirectory\EmployeeDirectory.csproj...
Installing NuGet package Microsoft.AspNetCore.Razor.Design 2.1.2.
Committing restore...
Generating MSBuild file C:\Software Development\Angular\EmployeeDirectory\EmployeeDirectory\obj\EmployeeDirectory.csproj.nuget.g.props.
Writing lock file to disk. Path: C:\Software Development\Angular\EmployeeDirectory\EmployeeDirectory\obj\project.assets.json
Restore completed in 207.61 ms for C:\Software Development\Angular\EmployeeDirectory\EmployeeDirectory\EmployeeDirectory.csproj.
Successfully installed 'Microsoft.AspNetCore.Razor.Design 2.1.2' to EmployeeDirectory
Executing nuget actions took 246.18 ms
Time Elapsed: 00:00:00.5725993

Совершенно в тупик ... Есть идеи?

Обновление 1

Деинсталлировано и переустановлено VS 2017. Проблема остается. Я решил создавать новые виды проектов, и теперь я получаю разные ошибки. Попытка создать приложение Windows Forms, и я получаю сообщение об ошибке:

"Invalid static method invocation syntax: '[Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries($(TargetFrameworkIdentifier),$(TargetFrameworkVersion), $(TargetFrameworkProfile), $(PlatformTarget), $(TargetFrameworkRootPath), $(TargetFrameworkFallbackSearchPaths))'. Method 'Microsoft.Build.Utilitieis.ToolLocationHelper.GetPathToStandardLibraries' not found. Static method invocation should be of the form: $([FullTypeName]::Method()) e.g. $([System.IO.Path]::Combine('a', 'b')). C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.CurrentVersion.targets"

Обновление 2

Похоже, что пакет установлен глобально: в C:\Users\[UserName]\.nuget\packages\microsoft.aspnetcore.razor.design\2.1.2

Возможно ли, что существует просто неверный путь или отсутствует переменная среды, из-за которой это не может быть найдено? Кто-нибудь знает, как это обрабатывается?

Обновление 3

dotnet --version
2.1.403

Обновление 4

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

NuGet Config files used:
    C:\Users\pd7562\AppData\Roaming\NuGet\NuGet.Config
    C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

Когда я захожу в диспетчер пакетов NuGet / «Источники пакетов» в разделе «Инструменты / параметры» для «Пакета для всей машины», он показывает только «Автономные пакеты Microsoft Visual Studio», но в моей установке 2015 года отображается «Microsoft и .NET». "запись до этого. Они не могут быть отредактированы, это не похоже на

Я очистил каталог с пакетами в каталоге user.nuget \ packages, и он, похоже, не получает новые пакеты в этот каталог. Я думаю, что это фундаментальный вопрос, который необходимо решить. Я просто не знаю, как.

1 Ответ

0 голосов
/ 13 ноября 2018

Похоже, что аналогичная проблема возникла еще в выпуске 15.8.0, и то же исправление, которое работало для этого сбоя, сработало для меня. Проблема была вызвана обновлением Visual Studio в обоих случаях.

Я нашел решение здесь: https://developercommunity.visualstudio.com/content/problem/311136/update-to-1580-projects-wont-load.html

Решением было выйти из Visual Studio и запустить из командной строки разработчика следующее:

gacutil /u "MSBuild, Version=15.1.0.0"
gacutil /u "Microsoft.Build.Conversion.Core, Version=15.1.0.0"
gacutil /u "Microsoft.Build, Version=15.1.0.0"
gacutil /u "Microsoft.Build.Engine, Version=15.1.0.0"
gacutil /u "Microsoft.Build.Tasks.Core, Version=15.1.0.0"
gacutil /u "Microsoft.Build.Utilities.Core, Version=15.1.0.0"
gacutil /u "Microsoft.Build.Framework, Version=15.1.0.0"

В моей системе первые 2 ничего не сделали, но остальные 6 удалили соответствующие вещи из GAC. Я включаю первые 2 для полноты, однако.

Когда я перезапустил Visual Studio, он сказал, что настраивал все так, как будто это был первый раз, когда я запустил его с момента установки.

Теперь я могу создавать свои основные проекты ASP.NET, а также создавать и открывать другие типы проектов, которые вызывали у меня проблемы.

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

...