我希望简化我的PCL csproj,但似乎找不到合适的 TargetFrameworks
。
这是我的旧csproj文件:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D035A2E6-EF3E-4F50-B6D7-396F83FE313F}</ProjectGuid>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>PCL.Acme</RootNamespace>
<AssemblyName>PCL.Acme</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile151</TargetFrameworkProfile>
</PropertyGroup>
当前的Nuget包含一个格式化为portable46-net451%2Bwin81%2Bwpa81
的framework文件夹。
因为我依赖于另一个PCL,所以无法针对netstandard1.2
进行目标定位...
任何帮助都将不胜感激。
更新
这个csproj格式使得可以引用我的旧PCL Nuget包。
现在我可以开始迁移PCL.Acme.Another.Library
项目。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.2</TargetFrameworks>
<PackageId>PCL.Acme</PackageId>
<Authors>Acme</Authors>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageTargetFallback>
$(PackageTargetFallback);portable46-net451+win81+wpa81
</PackageTargetFallback>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="PCL.Acme.Another.Library" Version="1.0.0" />
</ItemGroup>
</Project>
.NETStandard
。如果您有任何对另一个PCL的依赖,则还应迁移该依赖项到.NETStandard
,然后将其nuget添加回来。https://montemagno.com/how-to-convert-a-pcl-library-to-net-standard-and-keep-git-history/ - Leo Liu