减少.net核心/标准中的程序包依赖关系
问题描述:
我试图将我在VS2015/.net核心中构建的一些库升级到VS2017。当project.json> * .csproj转换进行得相当顺利时,我遇到了麻烦,试图使我的库不依赖于完整的框架,而只依赖于我真正需要的包。减少.net核心/标准中的程序包依赖关系
我以前没在https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/reducing-dependencies
,这是工作的罚款证明什么。升级后,我的“依赖项”安装了SDK nuget,无法删除。
Project.csproj包含以下内容:
<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>
予省略了一些性质(描述,作者,等等)为简洁。
做任何人有多么以上,现在可以完成的任何想法?提前致谢。
答
您可以设置
<PropertyGroup>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
在你的.csproj。这告诉SDK不隐式引用NETStandard.Library或Microsoft.NETCore.App。
+0
这个伎俩......谢谢! – CheloXL
随着项目面向.NET框架,你应该禁用PublicSign,正如我在https://blog.lextudio.com/tips-for-net-nuget-package-authors-august-2017-48f07604e4a0所示。否则,使用.NET Framework项目时可能会遇到验证错误。 –