2016-10-15 4 views
2

으로 변환 할 수 없습니다. netstandard1.6에 대해 nuget 패키지를 빌드하는 .NET 핵심 클래스 라이브러리가 있습니다. Azure 함수에서이 라이브러리를 사용하고 싶습니다. 홈 \ 데이터 \ 기능 \ \ 패키지 \ nuget 시스템 \ : 그 D gues 나는Netstandard Nuget System.Net.Http에서 GAC 버전

using System.Net.Http; 
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) 
{ 
    return MyClassLib.Methode(req); 
} 

error CS1503: Argument 1: cannot convert from 'System.Net.Http.HttpRequestMessage [D:\home\data\Functions\packages\nuget\System.Net.Http\4.1.0\ref\net46\System.Net.Http.dll]' to 'System.Net.Http.HttpRequestMessage [D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll]'

으로 클래스 라이브러리 내부의 메소드를 호출 할 때하지만,이 오류를 받고 있어요 .Net.Http \ 4.1.0 \ 심판 \ net46 \ System.Net.Http.dll는 DLL 오는 양식은 "종속"입니다 : { "NETStandard.Library": "1.6.0" },

System.Net에서 비슷한 문제를 발견했습니다 .Http : https://github.com/dotnet/corefx/issues/9846 그리고 내가 읽은 내용 :

.0 "System.Net.Http"에 고정되어 있지 패키지

예 : "4.1.0- *" https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/managing-package-dependency-versions

은 내가 System.Net 때문에 1.2 netstandard 다운 그레이드해야한다. HTTP 버전? 하지만 나는 net46을 더 이상 지원할 수 없다 : https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md

netstandard와 net46 사이에 불일치가 있습니까?

답변

1

예, 나는 그것이 작동이 :)이 내가 무슨 짓을했는지 :

나는 프레임 워크로 net46 추가 "NETStandard.Library"이동 : 만 netstandard1.3 종속성으로 "1.6.0"을. "NETStandard.Library"안에있는 System.Net.Http 라이브러리 때문입니다.

MyClassLib : 내 달려 참조 프로젝트 "구축"

"frameworks": { 
"netstandard1.3": { 
    "imports": [ "netcoreapp1.0" ], 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "System.Xml.XmlSerializer": "4.0.11", 
    "System.Xml.XmlDocument": "4.0.1", 
    "System.Xml.XDocument": "4.0.11" 
    } 
}, 
"net46": { 
    "frameworkAssemblies": { 
    "System.Xml": "", 
    "System.Xml.Linq": "", 
    "System.Xml.Serialization": "" 
    } 
} 

추가는 "유형"을 추가했다.

"MyClassLib.Xml": { 
    "target": "project", 
    "type": "build" 
}, 

현대적인 클래스 라이브러리 설정에 대한 모범 사례가 포함 된 전체 튜토리얼을 작성하면 좋을 것입니다.

1

Azure 함수의 documentation에 따르면 현재 지원되는 프레임 워크는 net46입니다.

+0

net46은 netstandard에서 지원하는 플랫폼입니다. netstandard를 1.3으로 다운 그레이드하지만 여전히 같은 오류입니다. – Thieme

1

현재 우리는 까지 Netstandard 1.3을 공식적으로 지원합니다. project.json 파일은 net46으로 프레임 워크와 호환 가능한 패키지가 계속해서 해결되어야합니다 (내가 찾은 바에 따르면). 이것은 Azure 함수보다 .NET 표준과 더 관련이 있으므로 좋은 정보원이됩니다. https://docs.microsoft.com/en-us/dotnet/articles/standard/library

희망이 있습니다.