有没有将现有的.NET类库转换为便携式库的指导?

我有一些不重要的现有代码的类库。 类库目前的目标是.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> 

尝试将现有的类库转换为便携式库是好的还是坏主意?

我们也将现有的库转换为可移植的库,它工作正常。 您必须修改项目文件。 replace以下行:

 <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应该在项目Property页面中向您显示Tab页面“Library”,您可以更改便携式库的目标框架。

我创build了一个Visual Studio扩展来自动执行此操作。 只需在Visual Studio> 2012的扩展中search“ convert to pcl ”

源代码也可以在Github上find。

您可以删除<Import Project="..." />行。 然后,当您重新加载项目时,Visual Studio会询问您要定位哪些框架。 您可以稍后在项目的属性中进行更改。