我刚刚使用dotnet new web
创建了一个新项目。我的Google-foo可能会让我失望,但我没有找到与我的答案相关的任何内容(如果我错过了一些明显的东西,请链接到另一个SO答案或相关文档)。
如果我想确保此新项目符合 .NET 标准 2.0,我现在该怎么办?
NET Standard用于类库。应用程序必须以netcoreapp*为目标,其中*是版本号。以下显示了兼容性矩阵:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
例如,.NET Core 2 可以使用 .NET Standard 版本 2 及更低版本。
将< 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)(即net47
,netstandard2.0
,netcoreapp2.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却更少。