如何判断代码是为常规.NET还是.NET Core编写的?

34
我在一个代码库中工作,其中包含一些常规 .NET 代码和一些 .NET Core 代码。当我打开一个单独的 .cs 文件时,我并不总是确定该文件是否应编译为常规 .NET 或 .NET Core。显然,这两个框架之间有很多重叠 - 很多代码可以在这两个框架中不经修改地运行。
因此,我的问题是,有哪些简单的方法可以确定 .cs 文件是否旨在编译为常规 .NET 还是 .NET Core?
(我想,寻找某些仅存在于一个框架中的 usings 可能是最明显的标志。如果确实是确定这一点的方法,那么是否有网页列出哪些 usings 是常规 .NET vs. .NET Core 独有的?)

9
通常.cs文件都属于一个项目,而这个项目会告诉你应该使用哪个框架进行构建。我会担心只看单独的.cs文件会带来误解…… - Heretic Monkey
3个回答

32

8

微软有一个可移植性分析器,它会告诉你你的代码是否可以在各种平台上运行以及需要进行哪些更改,但我所知道的唯一方法是检查项目属性或makefile来确定特定代码所编写的平台。


8
你也可以使用if预处理指令,例如这样的内容:

您还可以使用 if 预处理指令,类似于以下示例:

public class MyClass
{
   static void Main()
   {
#if (NETCOREAPP1_0 || NETCOREAPP1_1 || NETCOREAPP2_0 || NETCOREAPP2_1)
        <some code>
#else
        <some code>
#endif
   }
}

我应该补充说明,这是一种前进时使用的方法,特别适用于在NetFramework和Core之间共享代码。


我应该补充说明,这是一种特别适用于在NetFramework和Core之间共享代码的方法。 - liquidanswer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接