簡體   English   中英

是否有任何正式的目標框架指令?

[英]Are there any formalized target framework directives?

我已經閱讀了微軟關於如何檢測目標框架的文章,例如:

netcoreapp2.2
net47
net58 

但是在某些情況下,我不關心確切版本,而是關心一般框架目標:

NETCORE
.Net Framework

但我沒有找到這樣的標志。

題:

是否有任何通用標志? 或者更好的是,如何在不指定所有選項的情況下區分這兩者?

除了版本特定的指令(例如NETSTANDARD2_0目標框架文檔還列出了以下預處理器符號:

  • NETFRAMEWORK

  • NETSTANDARD

  • NETCOREAPP

...和.NET Micro Framework 的NETMF 、Windows Phone 的WP和通用Windows 平台的UAP


這是一個示例.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>   
    <TargetFrameworks>netstandard1.5;netstandard2.0;net48;netcoreapp3.0</TargetFrameworks>
  </PropertyGroup>
</Project>

和 C# 類:

namespace ClassLibrary1
{
    public class Class1
    {
        public void Test()
        {
#if NETFRAMEWORK
            System.Console.WriteLine(".NET Framework");
#elif NETCOREAPP
            System.Console.WriteLine(".NET Core");
#elif NETSTANDARD
            System.Console.WriteLine(".NET Standard");
#endif
        }
    }
}

這里選擇了 .NET Core 3.0(見左上角), NETCOREAPP區域為“live”,其他區域為灰色:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM