Не удалось выполнить следующий проект (ссылка объекта не установлена ​​в экземпляр объекта).

Когда я создаю веб-проект по умолчанию в Visual Studio 2015 (обновление 3) с установленным SDK и инструментами .NET Core 1.0 (предварительный просмотр 2) и перезапускаю Visual Studio после исправления локальных изменений исходного кода, я получаю следующую компиляцию ошибка

Не удалось выполнить следующий запуск проекта: причина MyDefaultWebProject (.NETCoreApp, Version = v1.0): ссылка на объект не установлена ​​в экземпляр объекта.

В соответствии с Visual Studio ошибка находится в C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets в строке 262

В этой строке есть следующий код:

<Dnx
  RuntimeExe="$(SDKToolingExe)"
  Condition="'$(_DesignTimeHostBuild)' != 'true'"
  ProjectFolder="$(MSBuildProjectDirectory)"
  Arguments="$(_BuildArguments)"
  />

Как я могу исправить такую ​​проблему?

Ответ 1

Единственным рабочим решением, которое мне удалось найти, является запуск dotnet restore Команда:

C:\Dev\*****>dotnet restore

Welcome to .NET Core!
---------------------
Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.
Telemetry
--------------
The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community.
You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.
You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.
Configuring...
-------------------
A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once.
Decompressing 100% 2181 ms
Expanding 100% 9113 ms
log  : Restoring packages for C:\Dev\*****\project.json...
log  : Restoring packages for tool 'BundlerMinifier.Core' in C:\Dev\*****\project.json...
log  : Restoring packages for tool 'Microsoft.AspNetCore.Razor.Tools' in C:\Dev\*****\project.json...
log  : Restoring packages for tool 'Microsoft.AspNetCore.Server.IISIntegration.Tools' in C:\Dev\*****\project.json...
log  : Restoring packages for tool 'Microsoft.EntityFrameworkCore.Tools' in C:\Dev\*****\project.json...
log  : Restoring packages for tool 'Microsoft.Extensions.SecretManager.Tools' in C:\Dev\*****\project.json...
log  : Restoring packages for tool 'Microsoft.VisualStudio.Web.CodeGeneration.Tools' in C:\Dev\*****\project.json...
log  : Writing lock file to disk. Path: C:\Dev\*****\project.lock.json
log  : C:\Dev\*****\project.json
log  : Restore completed in 13207ms.

после чего компиляция в Visual Studio снова будет успешной.

Ответ 2

В моем случае проблема заключалась в том, что один из проектов библиотеки классов в решении ссылался на библиотеку AspNetCore.Identity по абсолютному пути, когда я вытаскивал источники из элемента управления источника. Из-за этого - неправильные пути были сгенерированы в файле project.fragment.lock.json, и решение не могло построить. Исправление этой ссылки абсолютного пути в файле .csproj заставило ее работать.