2017-08-15 72 views
0

我已經從.Net Standard 1.3庫創建NuGet包。包定義中的csproj文件:NuGet包管理器將目標平臺標記爲不受支持

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
     <Summary>My package</Summary> 
     <Description>My package description</Description> 
     <VersionPrefix>1.0.0</VersionPrefix> 
     <Authors>Opensoft Inc.</Authors> 
     <TargetFrameworks>netstandard1.3;</TargetFrameworks> 
     <NetStandardImplicitPackageVersion>1.3</NetStandardImplicitPackageVersion> 
     <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier> 
     <TargetFrameworkVersion>v1.3</TargetFrameworkVersion> 
     <NoWarn>$(NoWarn);1591</NoWarn> 
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors> 
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild> 
     <AssemblyName>TestAssembly</AssemblyName> 
     <PackageIconUrl></PackageIconUrl> 
     <PackageProjectUrl></PackageProjectUrl> 
     <AssemblyVersion>1.0.0.0</AssemblyVersion> 
     <FileVersion>1.0.0.0</FileVersion> 
    </PropertyGroup> 

    <ItemGroup> 
     <PackageReference Include="Newtonsoft.Json" Version="10.0.3" /> 
     <PackageReference Include="System.Xml.XmlSerializer" Version="4.3.0" /> 
    </ItemGroup> 

</Project> 

但發佈包後,我無法正確地從.Net框架4.6.1 Web應用程序項目引用它。它表示目標平臺不受支持。

enter image description here

我在做什麼錯?

回答

0

它看起來像你在你的csproj文件中有一些雜散的屬性定義。

刪除屬性TargetFrameworkIdentifierTargetFrameworkVersion以及NetStandardImplicitPackageVersion

只保留TargetFrameworks(並刪除末尾的寄生;),並讓工具完成其工作,以找出正確的值,所有其他屬性才能夠發佈正確的NuGet包。

請注意,如果您發佈「已更正」的軟件包,則需要更改版本號或清除已下載損壞軟件包的所有計算機上的本地軟件包緩存(=>dotnet nuget locals all --clear)。