当前位置: 首页 > 知识库问答 >
问题:

如何在新创建的.NET核心2.0 web应用程序中瞄准.NET标准2.0?

米俊晤
2023-03-14

我刚刚使用dotnet new web创建了一个新项目。我的Google-foo可能会让我失望,但我没有找到与我的答案相关的任何内容(如果我错过了一些明显的东西,请链接到另一个SO答案或相关文档)。

如果我想确保此新项目符合 .NET 标准 2.0,我现在该怎么办?

共有2个答案

郑燕七
2023-03-14

NET Standard用于类库。应用程序必须以netcoreapp*为目标,其中*是版本号。以下显示了兼容性矩阵:https://docs.microsoft.com/en-us/dotnet/standard/net-standard

例如,.NET Core 2 可以使用 .NET Standard 版本 2 及更低版本。

龚钧
2023-03-14

将< code>netstandard项目作为可执行文件运行本身是不可能的。因为< code>netstandard是为库设计的。

为了完全在netstandard2.0中开发web应用程序,您必须创建一个单独的项目,以.NET核心或.NET框架为目标,执行包含web应用程序的库(使用.NET标准开发)。

1. Executable Project (ex: console app)
   -- Target Framework: netcoreapp2.0 / net462

2. Web Application Project (library)
   -- Target Framework: netstandard2.0

可以使用以下步骤更改项目的目标框架。

步骤1.以所需框架为目标

>

  • 右键单击您的项目,然后选择“编辑 *****.csproj”

    在<代码>中。csproj文件,您需要将目标框架替换为。NET框架

    示例 .csproj 文件:

    <Project Sdk="Microsoft.NET.Sdk.Web"> //<-- note the .Web for the web template
      <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>
      </PropertyGroup>
    </Project>
    

    有关目标框架绰号(TFM)(即net47netstandard2.0netcoreapp2.0等)的列表,您可以查看此链接:https://docs.microsoft.com/en-us/dotnet/standard/frameworks

    步骤2.运行点网恢复

    转到您的输出窗口并运行dotnet恢复

    注意:有时Visual Studio可能会出现错误(取决于您安装的更新),因此您可能必须关闭并重新打开Visual Studio。否则,有时清理/重新构建可能会奏效。

    您可以选择其中一个,甚至两个框架都可以。

    <TargetFrameworks>netcoreapp2.0; net47</TargetFrameworks> //<-- note the plural form!
    

  •  类似资料:
    • 我读过关于.NET标准和.NET核心之间的区别,但我真的不知道区别是什么,也不知道什么时候选择.NET标准库项目,什么时候选择.NET核心库项目。

    • 类库定义了可以从任何应用程序调用的类型和方法。 使用.NET Core开发的类库支持.NET标准库,该标准库允许您的库由任何支持该版本的.NET标准库的.NET平台调用。 当完成类库时,可以决定是将其作为第三方组件来分发,还是要将其作为与一个或多个应用程序捆绑在一起的组件进行包含。 现在开始在控制台应用程序中添加一个类库项目(以前创建的FirstApp项目为基础); 右键单击解决方案资源管理器 ,

    • 有没有一种方法可以轻松地将面向.NETCore2.0的类库转换为.NET标准? 如果我理解正确,如果有人想在针对不同.NET框架(例如.NET Framework,.NET Core,Xamarin等)的项目中最大限度地提高类库的可重用性,那么以.NET Standard为目标的更好主意 - 前提是所有必需的API都可以在将要定位的.NET Standard版本中提供。 这就是我想将类库从. NE

    • 如何在.NET Standard 2.0中以与.NET Core兼容的方式创建具有私钥的?

    • 我试着把这个项目作为一个正常的参考。但是在重新构建解决方案之后,控制台应用程序仍然没有将.NET核心库作为参考。

    • 本文向大家介绍.net-core 定位.NET标准,包括了.net-core 定位.NET标准的使用技巧和注意事项,需要的朋友参考一下 示例 目标库netstandard1.3可以在支持.NET Standard 1.3或更高版本的任何框架上使用。为库选择较低的.NET Standard版本意味着更多的项目可以使用它,但可用的API却更少。