我的Xamarin.Forms项目以PCL profile 259为目标。我最近读到了很多关于.NET标准的文章,但是做起来很痛苦。
目前我在Visual 2015更新3中开发,但很快就会尝试VS 2017。
我的解决办法包括:
我的问题:
谢谢您的任何好的解决方案。
发布于 2017-03-30 09:36:39
若要将PCL更改为.NET标准,只需转到PCL的属性并选择目标.NET标准平台即可

然后创建一个project.json文件,如果它还没有为您创建一个文件,并插入以下内容。
{
"supports": {},
"dependencies": {
"NETStandard.Library": "1.6.0",
"Xamarin.Forms": "2.3.4.192-pre2"
},
"frameworks": {
"netstandard1.3": {
"imports": "portable-net45+win8+wpa81"
}
}
}您需要导入以允许添加非.NET标准库。
相对于2017年,情况就不同了。虽然上面的内容将继续工作,但您可以将完整的.NET标准库作为csproj (不再是xproj),并让它与Xamarin一起愉快地工作。
但是,没有自动转换(据我所知),所以我通常所做的是编辑csproj并将其完全替换为以下内容。只需删除该文件中的所有内容并放置以下内容即可。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
<AssemblyName>MyLibraryName</AssemblyName>
<PackageId>MyLibraryName</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<PackageTargetFallback>$(PackageTargetFallback);portable-win+net45+wp8+win81+wpa8</PackageTargetFallback>
</PropertyGroup>
</Project>然后,您必须再次手动添加引用和NuGet包。对于PackageTargetFallback,这一行类似于project.json中的导入。
关于VSTS,我知道使用VS2015的第一种方法工作得很好,就像我自己做的那样。VS2017方法应该可以使用VSTS,但是我还没有亲自尝试过。
https://stackoverflow.com/questions/43025468
复制相似问题