我有现有的代码,一个不平凡的金额一些类库。 该类库目前面向.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会问你哪个框架,以目标。 然后,您可以稍后对此进行更改项目的属性。
文章来源: Is there any guidance on converting existing .NET class libraries to portable libraries?