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

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

Не удалось сделать следующий проект работоспособным: MyDefaultWebProject (.NETCoreApp, версия = 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)"
  />

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


person Nikolay Kostov    schedule 12.07.2016    source источник


Ответы (2)


Единственное рабочее решение, которое мне удалось найти, это запустить команду 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 снова проходит успешно.

person Nikolay Kostov    schedule 12.07.2016

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

person Alex    schedule 08.12.2016