我有一个PCL和.NET Core 1.0项目的解决方案。 一旦更新到VS 2017 15.3,当我导航到项目属性时,我有一个.NET Core 1.0项目的“应用程序”页面,我可以从1.0更改为2.0。不幸的是,PCL项目只显示标准的“库”页面,其中包含一个额外的“了解更多”链接,可以将我导航到“.NET标准”网页,但无法选择迁移到.NET Standard 2.0。所有其余的都是一样的,它只允许我改变通常的目标。没有提及与.NET Standard相关的任何其他内容。
我是否必须自己重新创建.NET Standard 2.0项目?
答案 0 :(得分:1)
对于pcl:
创建.Net标准库项目
手动修改csproj文件到Multi Target:
假设你的pcl是:portable-net45 + win8 + wpa81 + wp8
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;portable-net45+win8+wpa81+wp8</TargetFrameworks>
</PropertyGroup>
注意TargetFrameworks不是TargetFramework
通过您的来源复制
安装nuget软件包,或者在csproj中手动引用它们,例如:
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
</ItemGroup>
假设pcl编译时没有错误,在netstandrd2中你可能会发现错误,根据需要修改你的来源。
修改单元测试项目,并确保在两个环境中都通过了所有测试。