2017-03-08 2 views
0

VS2015/.net 코어에서 빌드 한 일부 라이브러리를 VS2017로 업그레이드하려고합니다. project.json> * .csproj 변환이 상당히 잘 진행되었지만 필자는 라이브러리가 전체 프레임 워크에 의존하지 않고 실제로 필요한 패키지에만 의존하려고 노력하고 있습니다..net 코어/표준 패키지 종속성 줄이기

내가 이전에 잘 작동했다 https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/reducing-dependencies

에 기록 된 했는가. 업그레이드 후 내 "종속성"에는 SDK 너겟이 설치되어 있으며 제거 할 수 없습니다.

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
     <AssemblyTitle>DDS.Core.Commons.Annotations</AssemblyTitle> 
     <VersionPrefix>17.03.08.1526</VersionPrefix> 
     <TargetFrameworks>netstandard1.6;net46</TargetFrameworks> 
     <AssemblyName>DDS.Core.Commons.Annotations</AssemblyName> 
     <PackageId>$(AssemblyName)</PackageId> 
     <RootNamespace>DDS.Core.Commons.Annotations</RootNamespace> 
    </PropertyGroup> 

    <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> 
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors> 
     <DebugType>full</DebugType> 
    </PropertyGroup> 

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> 
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks> 
     <PublicSign>true</PublicSign> 
     <DebugType>portable</DebugType> 
     <GenerateDocumentationFile>true</GenerateDocumentationFile> 
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild> 
    </PropertyGroup> 
</Project> 

내가 간결 일부 속성 (설명, 저자 등)를 생략 :

Project.csproj는 다음을 포함합니다.

위의 사항을 지금 어떻게 완료 할 수 있는지에 대해 누구나 알고 있습니까? 미리 감사드립니다.

+0

프로젝트가 .NET Framework를 대상으로하므로 https://blog.lextudio.com/tips-for-net-nuget-package-authors-august-2017-48f07604e4a0에 나와있는대로 PublicSign을 비활성화해야합니다. .NET Framework 프로젝트를 사용할 때 확인 오류가 발생할 수 있습니다. –

답변

4

당신은 당신의 .csproj에서

<PropertyGroup> 
    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> 
</PropertyGroup> 

을 설정할 수 있습니다. 이 SDK는 NETStandard.Library 또는 Microsoft.NETCore.App를 암시 적으로 참조하지 않도록 지시합니다.

+0

그 트릭을 ... 고마워! – CheloXL