[英]Any() does not compile in Portable Class Libraries; are there alternatives?
[英]Is there any guidance on converting existing .NET class libraries to portable libraries?
我有一些类库,其中包含一些非常重要的现有代码。 类库目前以.NET 4.0为目标。 有关如何将这些库转换为可移植库的指导吗? 从查看.csproj看,似乎没有太多差异:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
和
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
尝试将现有类库转换为可移植库是一个好主意还是坏主意?
我们还将现有库转换为可移植库,并且工作正常。 您必须修改项目文件。 替换以下行:
<Import Project="..." />
同
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
在PropertyGroup标记内添加以下行
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
并从AssemblyInfo.cs文件中删除以下行
[assembly: ComVisible(false)]
[assembly: Guid("...")]
之后,Visual Studio应该在项目属性页面中显示选项卡页面“库”,您可以更改可移植库的目标框架。
我创建了一个Visual Studio扩展来自动执行此操作。 只需在Visual Studio> 2012中搜索“ 转换为pcl ”
源代码也可以在Github上找到。
您可以删除<Import Project="..." />
行。 然后,当您重新加载项目时,Visual Studio将询问您要定位哪些框架。 然后,您可以稍后在项目的属性中更改此设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.