2016-05-31 12 views
3

나는 모두 netstandard1.5 프레임 워크를 대상으로하는 네 개의 라이브러리 프로젝트를 운영하고 있습니다. 그들 중 일부는 다른쪽에 의존하고 인텔리 센스는 4 가지 프로젝트에서 잘 작동합니다.Visual Studio 2015에서 참조 된 netstandard1.5 라이브러리 프로젝트로 인텔리 센스를 수정하는 방법은 무엇입니까?

내 ASP.NET netcoreapp1.0 프로젝트에서 이러한 라이브러리를 사용하려고합니다. 그러나 netcoreapp1.0 프레임 워크를 타겟팅 할 때 유형을 찾을 수 없습니다 (Visual Studio에서 빨간색으로 윤곽선을 그립니다). 프로젝트가 성공적으로 컴파일되고 실행됩니다.

내 웹 API 내부에서 netstandard1.5 프레임 워크로 전환하자마자 라이브러리 유형이 인식되어 인텔리 센스 (intellisense)를 얻습니다.

이 문제를 해결하는 방법이나 내가 잘못하고있는 것에 대한 아이디어가 있으십니까?

{ 
    "version": "1.0.0-*", 

    "frameworks": { 
    "netstandard1.5": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ], 
     "dependencies": { 
     "NETStandard.Library": "1.5.0-rc2-24027", 

     "System.Security.Principal": "4.0.1-rc2-24027" 
     } 
    } 
    }, 
    "dependencies": { 
    "Microsoft.AspNetCore.Identity": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "HoehenSucht.Models": "1.0.0-*", 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027" 
    } 
} 

그리고 여기 API의 project.json입니다 : 여기

(그들은 거의 동일) 라이브러리 프로젝트 중 하나에 대한 project.json입니다

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 
    "dependencies": { 
    "HoehenSucht.Framework": "1.0.0-*", 
    "HoehenSucht.Models": "1.0.0-*", 
    "HoehenSucht.Repositories": "1.0.0-*", 
    "HoehenSucht.Services": "1.0.0-*", 
    "HoehenSucht.Authentication": "1.0.0-*", 
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", 
    "Autofac.Extensions.DependencyInjection": "4.0.0-rc2-240", 
    "AutoMapper": "4.2.1", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final", 
    "System.Security.Principal": "4.0.1-rc2-24027", 
    "System.Reflection": "4.1.0-rc2-24027", 
    "IdentityServer4.AccessTokenValidation": "1.0.0-beta6", 
    "Microsoft.AspNetCore.Authorization": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Hosting": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final", 
    "Autofac": "4.0.0-rc2-240", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final", 
    "HoehenSucht.API.Models": "1.0.0-*", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", 
    "System.Linq": "4.1.0-rc2-24027", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", 
    "System.Linq.Parallel": "4.0.1-rc2-24027", 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0-*" 
     }, 
     "System.Collections": "4.0.11-rc2-24027", 
     }, 
     "imports": [ "dnxcore50", "portable-net45+win8" ] 
    } 
    }, 
    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    } 
} 
+0

프레임 워크를 변경 한 후에 패키지를 복원 했습니까? – svick

+0

얼마나 자주 이것을 반복 할 지 모르지만 RC1과 RC2 패키지를 섞어서는 안됩니다 !!!! "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final" ' – Tseng

+0

패키지를 제거했지만 여전히 "오류"가 발생합니다. 또한 깨끗한 재건 작업을 수행했습니다. 또한 솔루션 루트와 프로젝트 루트에서'dotnet restore '를 수행했습니다. – Silthus

답변

4

ReSharper에서 여기에 문제가되지 않습니다 비주얼 스튜디오.

http://blog.jetbrains.com/dotnet/2016/05/27/resharper-ultimate-2016-2-eap-kicks-off/

ASP.NET 핵심 코드 완성, 탐색의 관점에서 태그 도우미에 대한 지원을 포함하여 1.0 RC2의

초기 지원, 검색 및 리팩토링. 이 시점에서 ASP.NET Core 웹 응용 프로그램은 .NET Framework를 목표로하는 경우 지원되지만 을 지원하지 않습니다. 을 대상으로 .NET 코어을 지원합니다. 우리는 후속 빌드에서이를 개선하기 위해 노력하고 있습니다.

그래서 도서관을 타겟팅하는 경우 .netstandard1.5 Resharper는 인텔리 센스 정보를 올바르게 표시하지 않지만 프로젝트는 컴파일됩니다.

project.json 파일에 .netcoreapp1.0 프레임 워크를 추가 프레임 워크로 추가하면 Resharper가 작동하고 완전한 IntelliSense 지원을받을 수 있습니다.

frameworks": { 
    "netstandard1.5": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ], 
     "dependencies": { 
     "NETStandard.Library": "1.5.0-rc2-24027", 

     "System.Security.Principal": "4.0.1-rc2-24027" 
     } 
    }, 
    ".netcoreapp1.0": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ] 
    } 
}, 
+0

이상하게도 이것은 netstandard2.0 라이브러리가있는 VS 2017 미리보기에서 작동합니다. netstandard2.0 라이브러리의 csproj에 두 번째 대상 프레임 워크 (coreapp)를 추가 한 후 Resharper는 모든 종속성/인텔리 센스를 올바르게 표시합니다. ' netcoreapp2.0 ' ' netstandard2.0' – Algirdas