如何根据框架执行不同的操作?(ASP.NET 5)

gas*_*ini 2 .net c# asp.net migration asp.net-core

假设您必须将C#应用程序从.NET框架迁移到新的.NET Core,因为您希望拥有一些新功能.

您拥有自己的代码库,并且希望一次获得完整的工作部件,因为一次性迁移将会有很多工作.主要思想是在未来充分发挥核心作用.

我的问题是:

  • 有没有办法检查一个框架中存在但不存在于另一个框架中的功能?或者根据框架执行不同的操作?

gas*_*ini 5

编译器指令(#if)来检查对应于这两个框架的符号.并且还可以针对两个框架.

例如,如果您的代码使用的资源不是.NET Core的一部分,则可以将它们包含在条件编译指令中.

编译器指令的用法示例...

#if DNX451
    // Do something
#elif DNXCORE50
    // Do something
#else
#error No implementation for this target
# endif
Run Code Online (Sandbox Code Playgroud)

其中DNX451代表.NET Framework并DNXCORE50代表.NET Core.

在36分钟内观看此视频.

  • 名字似乎已经改变了.DNX451是NET451.s DNXCORE5是DOTNET5_4. (4认同)