【发布时间】:2017-10-16 06:21:15
【问题描述】:
我有一个应该打包到 nuget 包中的类库。这是它当前的 csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.6;net40;netcoreapp1.0</TargetFrameworks>
<PackageId>FooPackage</PackageId>
<PackageVersion>1.0.0</PackageVersion>
<Authors>Jean Lourenço</Authors>
<Title>FooPackage</Title>
<Description>FooPackage</Description>
<Copyright>Copyright 2017</Copyright>
<PackageLicenseUrl>https://opensource.org/licenses/MIT</PackageLicenseUrl>
<PackageProjectUrl>https://github.com/</PackageProjectUrl>
<PackageReleaseNotes>Initial release</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.ValueTuple" Version="4.3.1" />
</ItemGroup>
我将它创建为 netstandard 类库,然后手动将 <TargetFrameworks> 设置为其目标 netstandard1.6;net40;netcoreapp1.0。然后我使用dotnet pack 生成我的.nupkg。
但是当我尝试使用 netcoreapp 中的包时,会发生这种情况:
Package FooPackage 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package FooPackage 1.0.0 supports: net452 (.NETFramework,Version=v4.5.2)
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
这是消费应用的 csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
</PropertyGroup>
</Project>
net452 甚至没有直接引用到<TargetFrameworks>,所以我不知道它来自哪里。
我想知道我做错了什么以及如何正确定位这些框架。
【问题讨论】:
标签: nuget .net-core nuget-package dotnet-cli