2016-09-27 4 views
2

Visual Studio 2015 Update 3을 사용하여 새 ASP.NET Core MVC 앱을 만드는 경우 제대로 실행됩니다. 그러나, 나는 가지고가는 경우는 응용 프로그램 말했다 그것은 ASP.NET 코어 1.0.1에 Nuget 패키지의 업데이트, 내가 얻을 구축 다음과 같은 오류 :ASP.NET Core 1.0.1 프로젝트가 중단됩니다.

Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'. Possible cause 
1. The project has not been restored or restore failed - run `dotnet restore` 
2. The project does not list one of 'win10-x64, win81-x64, win8-x64, win7-x64' in the 'runtimes' section. 
3. You may be trying to publish a library, which is not supported. Use `dotnet pack` to distribute libraries. 

이 버그, 또는 환경 무언가인가?

부록 : 복원에서

로그가 잘 보이는 :

log : Restoring packages for <path to project>\project.json... 
log : Restoring packages for tool 'Microsoft.AspNetCore.Server.IISIntegration.Tools' in E:\Software Projects\subq\src\SubQ.API\project.json... 
log : Lock file has not changed. Skipping lock file write. Path: <path to project>\project.lock.json 
log : <path to project>\project.json 
log : Restore completed in 6210ms. 

project.json는 다음과 같다 : 최신 SDK가 설치되어

{ 
    "dependencies": { 
     "Microsoft.AspNetCore.Mvc": "1.0.1", 
     "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
     "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
     "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", 
     "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
     "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
     "Microsoft.Extensions.Configuration.Json": "1.0.0", 
     "Microsoft.Extensions.Logging": "1.0.0", 
     "Microsoft.Extensions.Logging.Console": "1.0.0", 
     "Microsoft.Extensions.Logging.Debug": "1.0.0", 
     "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
     "Microsoft.NETCore.App": "1.0.1" 
    }, 

    "tools": { 
     "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
     "netcoreapp1.0": { 
      "imports": [ 
       "dotnet5.6", 
       "portable-net45+win8" 
      ], 
      "runtimes": { 
       "win10-x64": {} 
      } 
     } 
    }, 

    "buildOptions": { 
     "emitEntryPoint": true, 
     "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
     "configProperties": { 
      "System.GC.Server": true 
     } 
    }, 

    "publishOptions": { 
     "include": [ 
      "wwwroot", 
      "Views", 
      "Areas/**/Views", 
      "appsettings.json", 
      "web.config" 
     ] 
    }, 

    "scripts": { 
     "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

.

+1

.NET Core 1.0.1 SDK를 설치 했습니까? – Tseng

+0

또한 project.json이있는 폴더에서'dotnet restore' 명령을 실행 해보십시오. – Ignas

+0

@Tseng : 예 이미 설치되어 있습니다. – kettch

답변

3

runtimesframeworks 설정 외부에 배치해야한다고 생각합니다. 나는 윈도우 8.1에서 실행하고, 그리고 컴파일러가 불평 이후 나는 또한, win81-x64를 추가했다

"frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
      "dotnet5.6", 
      "portable-net45+win8" 
     ], 
     "runtimes": { 
      "win10-x64": {} 
     } 
    } 
}, 

"frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
      "dotnet5.6", 
      "portable-net45+win8" 
     ] 
    } 
}, 
"runtimes": { 
    "win10-x64": {}, 
    "win81-x64": {} 
}, 

에 변경합니다.

이 기능이 작동하는지 알려주세요.

+0

확인. 그것이 올바른 스키마입니다. runtimes 객체에 대한 참조를 보았지만 전체 파일의 컨텍스트에서는 본 적이 없습니다. 내가 그것을 한 번 보았을 때, 그것은 프레임 워크 아래에 내장되어있었습니다. 이전 버전에 적용되었을 수 있습니다. 아무튼 감사 해요! – kettch

+1

@kettch : 사용 가능한 스키마는 http://schemastore.org/json/을 참조하십시오. Project.json 및 다른 json 기반 구성은 스키마와 함께 나열되어 있습니다. 가장 최근의 project.json은 다음 위치에 있습니다. http://json.schemastore.org/project – Tseng

+0

@Tseng Cool resource. 감사! – kettch

5

에 따라 https://github.com/dotnet/core/issues/267 : "type": "platform"이 제거되어 효과적으로 프로젝트를 독립형으로 변경하므로 런타임 섹션이 필요합니다.

수동으로 "type": "platform"을 project.json 파일에 추가하면 문제가 해결되었습니다.

"dependencies": { 
     "Microsoft.NETCore.App": { 
      "version": "1.0.1", 
      "type": "platform" 
     }, 

또한 https://github.com/dotnet/core/issues/267을 acoording 다음 NuGet UI를 통해 업데이트 이 project.json를 업데이트 할 프로젝트 시스템으로 호출 "유형": "플랫폼"이 편집시 삭제됩니다. NuGet 3.5.0 RTM (아직 릴리스되지 않음)은이 문제에 대한 해결 방법을 제공합니다.

관련 문제