.net 将PCL转换为常规类库

.net 将PCL转换为常规类库,.net,dll,portable-class-library,.net,Dll,Portable Class Library,我目前有一个可移植类库,其代码与常规类库完全兼容,无需任何修改 我想知道是否有一个现有的软件可以自动进行转换;我查看了VisualStudio工具,但没有找到任何合适的工具。在写我自己的之前,我只是想确定一下 差异将出现在.proj文件中 我自己尝试过之后,你将不得不做以下所有事情 删除元素 删除元素 将您的#2(以下)更改为我在#1中显示的内容 1。普通类库 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /&

我目前有一个
可移植类库
,其代码与常规
类库
完全兼容,无需任何修改


我想知道是否有一个现有的软件可以自动进行转换;我查看了VisualStudio工具,但没有找到任何合适的工具。在写我自己的之前,我只是想确定一下

差异将出现在.proj文件中

我自己尝试过之后,你将不得不做以下所有事情

  • 删除
    元素
  • 删除
    元素
  • 将您的#2(以下)更改为我在#1中显示的内容
  • 1。普通类库

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
    
    
    
    2。可移植类库

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
    

    使用VSCommands,它具有将项目转换为PCL的内置功能。在项目上单击鼠标右键并转换。 它是免费的,并且是VisualStudio扩展的一部分

    2016年10月12日更新:
    上面的链接是死的。该工具已为Visual Studio 2015重写,可在此处找到:

    如果代码完全兼容,为什么要转换它?只需像在您自己的项目中一样使用PCL。我使用的是旧版本的Xamarin,它不支持PCL。“为不同的目标重新编译它”是一个选项吗?或者您正在尝试在dll级别工作?如果是:它是否已签名/strong命名?您还需要删除对非pcl dll(如System等)的所有引用。我认为,当从pcl转到normal时,您应该添加对System和System.Core等内容的引用。(这听起来像是OP在问的)在这里列出的更改之后,我没有提到任何东西,但很容易将它们添加回去。谢谢效果很好。非常感谢。还需要在
    packages.config
    中设置正确的
    targetFramework
    并还原包。这与作者想要做的相反。他们已经有一个PCL,并希望将其转换为常规类库。此外,链接现在已断开。