我有一個類庫,應該被打包成一個nuget包。這是其目前的csproj:如何將.net項目正確定位到netcoreapp/netstandard中?
<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>
,所以我不知道從哪裏來。
我想知道我在做什麼錯,以及如何正確定位這些框架。