【发布时间】:2019-05-08 00:15:58
【问题描述】:
我想简化我的 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。
我无法定位 netstandard1.2,因为我依赖于另一个 PCL...
感谢任何帮助。
更新
这种 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>
【问题讨论】:
-
由于 PCL 库方法已停用,您现在必须选择
.NETStandard。如果您对另一个 PCL 有任何依赖项,您还应该将依赖项迁移到.NETStandard,然后重新添加该 nuget。montemagno.com/… -
嗨@LeoLiu-MSFT,很遗憾,我们正在讨论许多需要迁移到.NetStandard (1.2) 的项目。有没有一种方法可以迁移而不是一次更改所有内容?也许在 1 个包中同时具有 PCL 和 .NetStandard 兼容程序集?我们目前创建了一个单独的 .NetStandard 项目,我们将所有代码移入其中。然后将文件链接回 PCL 项目中......? .NetStandard 项目尚未打包..
标签: c# visual-studio visual-studio-2015 nuget csproj