如何根据框架执行不同的动作? (ASP.NET 5)
How to execute different actions based on the framework? (ASP.NET 5)
假设您必须将一个 C# 应用程序从 .NET 框架迁移到新的 .NET Core,因为您想要它的一些新功能。
您拥有自己的代码库,并且希望一次获得完全可用的部分,因为一次性迁移所有工作量很大。主要的想法是将来完全成为核心。
我的问题是:
- 有没有一种方法可以检查一个框架中存在而另一个框架中不存在的功能?还是根据框架执行不同的动作?
有编译器指令 (#if) 来检查对应于两个框架的符号。也可以同时针对这两个框架。
例如,如果您的代码使用的资源不是 .NET Core 的一部分,则可以将它们包围在条件编译指令中。
编译指令的使用示例...
#if DNX451
// Do something
#elif DNXCORE50
// Do something
#else
#error No implementation for this target
# endif
其中 DNX451
代表 .NET Framework,DNXCORE50
代表 .NET Core。
查看他们的实际操作 on this video at 36 min。
假设您必须将一个 C# 应用程序从 .NET 框架迁移到新的 .NET Core,因为您想要它的一些新功能。
您拥有自己的代码库,并且希望一次获得完全可用的部分,因为一次性迁移所有工作量很大。主要的想法是将来完全成为核心。
我的问题是:
- 有没有一种方法可以检查一个框架中存在而另一个框架中不存在的功能?还是根据框架执行不同的动作?
有编译器指令 (#if) 来检查对应于两个框架的符号。也可以同时针对这两个框架。
例如,如果您的代码使用的资源不是 .NET Core 的一部分,则可以将它们包围在条件编译指令中。
编译指令的使用示例...
#if DNX451
// Do something
#elif DNXCORE50
// Do something
#else
#error No implementation for this target
# endif
其中 DNX451
代表 .NET Framework,DNXCORE50
代表 .NET Core。
查看他们的实际操作 on this video at 36 min。