2017-10-19 46 views
2

所以我有一个PCL项目,但是想立即更新,以支持的.Net标准如何将PCL转换为.NET标准库

我已经阅读了Microsoft website steps做到这一点:

该项目的文件
  • 单击鼠标右键,选择属性。
  • 在Library下,选择Target .NET Platform Standard。

但该按钮不会在Visual Studio的最新版本2017

我也看过here存在:

  • 关闭解决方案在VS
  • 取现有的csproj并在其他地方制作 的副本。我将保留在记事本中打开其他副本。
  • 复制/粘贴您创建的新项目的内容,并替换现有项目的 内容。大部分旧 项目中的内容都不再需要了。您可能需要的是 设置,例如与 文件夹名称/约定不匹配的任何签名或程序集名称。如果您的ResX文件具有设计时生成的代码 ,则需要添加以下内容。同样,对于 Xamarin Forms页面,您需要这个。

但我不明白上面的步骤强调为我的NuGet包的负载和文件的ResX所以总是会导致编译错误,当我尝试

那么,有没有任何直接的措施来更新PCL项目到.NetStandrard之一?

+0

我觉得它更容易只是创建一个新的解决方案和项目并复制粘贴所有类。 – Isma

+0

@Isma所有的nuget包都是什么?我不想重新安装所有这些。花了我足够长的时间卸载并重新安装它们以使用'PackageReference' – user1

回答

1

我走上的步骤一个PCL转换为.NET标准库使用从here一些步骤,用我自己的混合

  1. 转换从旧packages.config方式,所有的Nu​​Get包PackageReference

不幸的是,目前没有任何迁移工具,所以卸载现有的软件包可能是最容易的,请确保packages.config文件不复存在,然后在将VS选项设置为PackageReference之后安装软件包。你也可以手工做(这是我为我的项目做的)。

  1. 创建一个新的。净标准类库在你的项目,把它像类似MyPclProject1

  2. 将东西从旧PCL lib中的所有文件拖放到.NET Stanrdard LIB

  3. 打开老PCL的.csproj文件在记事本中,然后复制并粘贴所有PackageReference代码粘贴到新的.Net标准的csproj文件

  4. 如果使用.resx文件,你需要添加this code到你的.NET标准的.csproj文件(不知道为什么)

  5. 然后更新所有REF erences从旧的PCL文件到新的.NET标准文件并删除旧库

  6. 重命名新的.NET标准库老PCL名