11

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

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

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

ответ

21

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

1

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