将基于 .Net v4.0 构建的 Dll 迁移到 .Net Core 1.0
Migrating Dll built on .Net v4.0 to .Net Core 1.0
我有一个基于 dotnet 框架构建的 dotnet 库 (dll) v4.0
。
现在我们想在 .Net Core framework 1.0
.
中使用那个 dll
是否可以在 .Net Core 1.0 中直接使用使用以前版本的 dotnet 框架(如 v4.0)构建的旧库?
如果是,那该怎么做?
如果不是,那么需要做什么才能支持 .Net Core 1.0。
我浏览了各种 msdn 博客,但能够找到控制台应用程序的任何解决方案。他们对 ASP.Net 核心有很多了解,但对 .Net Core App
.
的关注较少
不,无法在 .NET Core 上直接使用 .NET Framework 程序集。
有很多 APIs 在 .NET Core 上不可用(至少现在是这样)。例如,Registry API 对跨平台
没有意义
您需要手动移植源代码并重建它。
有一种名为 .NET standard 的新型库,因此如果您针对此移植源代码,您应该能够 运行 在 .NET Framework 和 .NET core 上使用它
不能直接在.NET Core 1.0中使用,但可以移植
您应该做的第一件事是在 .NET Portability Analyser.
中测试您的 DLL
此工具将以非常直观的方式告诉您正在使用哪些方法(及其关联的 class 和命名空间),这些方法在 .NET Core 1.0 中不受支持。
根据可行性(这取决于你,你知道你的代码),你可以选择尝试摆脱这个 classes/methods 并用 .NET Core 1.0 兼容代码替换它们。
.NET Core 1.0 不支持的功能示例:
- AppDomains(用于代码隔离、动态程序集加载)
- 远程处理
- 二进制序列化
有关 Core FX github documentation
的更多详细信息
要尝试移植您的 dll:
- 去掉 csproj
- 将其替换为 project.json(正确配置为面向 .NET Core 1.0)
- 2015 年 visual studio 打开项目
- 尝试编译它
- 分析错误并改正
- 迭代(可能多次:))
祝你好运!
我有一个基于 dotnet 框架构建的 dotnet 库 (dll) v4.0
。
现在我们想在 .Net Core framework 1.0
.
是否可以在 .Net Core 1.0 中直接使用使用以前版本的 dotnet 框架(如 v4.0)构建的旧库?
如果是,那该怎么做? 如果不是,那么需要做什么才能支持 .Net Core 1.0。
我浏览了各种 msdn 博客,但能够找到控制台应用程序的任何解决方案。他们对 ASP.Net 核心有很多了解,但对 .Net Core App
.
不,无法在 .NET Core 上直接使用 .NET Framework 程序集。
有很多 APIs 在 .NET Core 上不可用(至少现在是这样)。例如,Registry API 对跨平台
没有意义您需要手动移植源代码并重建它。
有一种名为 .NET standard 的新型库,因此如果您针对此移植源代码,您应该能够 运行 在 .NET Framework 和 .NET core 上使用它
不能直接在.NET Core 1.0中使用,但可以移植
您应该做的第一件事是在 .NET Portability Analyser.
中测试您的 DLL此工具将以非常直观的方式告诉您正在使用哪些方法(及其关联的 class 和命名空间),这些方法在 .NET Core 1.0 中不受支持。
根据可行性(这取决于你,你知道你的代码),你可以选择尝试摆脱这个 classes/methods 并用 .NET Core 1.0 兼容代码替换它们。
.NET Core 1.0 不支持的功能示例:
- AppDomains(用于代码隔离、动态程序集加载)
- 远程处理
- 二进制序列化
有关 Core FX github documentation
的更多详细信息要尝试移植您的 dll:
- 去掉 csproj
- 将其替换为 project.json(正确配置为面向 .NET Core 1.0)
- 2015 年 visual studio 打开项目
- 尝试编译它
- 分析错误并改正
- 迭代(可能多次:))
祝你好运!