如何在新创建的 .NET Core 2.0 Web 应用程序中以 .NET Standard 2.0 为目标?
How do I target .NET Standard 2.0 in a freshly created .NET Core 2.0 web app?
我刚刚使用 dotnet new web
创建了一个新项目。我的 Google-foo 可能让我失望了,但我没有找到与我的答案相关的任何内容(如果我错过了一些明显的东西,请 link 到另一个 SO 答案或相关文档)。
如果我想确保这个新项目符合 .NET Standard 2.0 标准,我现在该怎么做?
NET Standard 适用于 class 库。应用程序必须以 netcoreapp* 为目标,其中 * 是版本号。下面显示了兼容性矩阵:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
例如,.NET Core 2 可以使用 .NET Standard 版本 2 及更低版本。
It is not inherently possible to run a netstandard
project as an executable. Since netstandard
was designed to be used for libraries.
为了完全在 netstandard2.0
中开发您的 Web 应用程序,您必须创建一个单独的项目,以 .NET Core 或 .NET Framework 为目标来执行您的库,其中包含您的Web 应用程序(使用 .NET Standard 开发).
1. Executable Project (ex: console app)
-- Target Framework: netcoreapp2.0 / net462
2. Web Application Project (library)
-- Target Framework: netstandard2.0
您可以使用以下步骤更改项目的目标框架。
步骤 1. 定位所需的框架
右键单击您的项目并 select Edit *****.csproj
在.csproj
文件中,需要将目标框架替换为.NET Framework。
示例 .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
等* ) 你可以检查这个 link :
https://docs.microsoft.com/en-us/dotnet/standard/frameworks
步骤 2.运行dotnet restore
转到输出 window 和 运行 dotnet restore
.
注意:有时 Visual Studio 可能会出现异常(取决于您安装的更新),因此您可能需要关闭并重新打开 Visual Studio。否则,有时 clean/re-build 可能会起作用。
针对两个框架
您可以选择一个或另一个,甚至可以针对 两个 框架。
<TargetFrameworks>netcoreapp2.0; net47</TargetFrameworks> //<-- note the plural form!
我刚刚使用 dotnet new web
创建了一个新项目。我的 Google-foo 可能让我失望了,但我没有找到与我的答案相关的任何内容(如果我错过了一些明显的东西,请 link 到另一个 SO 答案或相关文档)。
如果我想确保这个新项目符合 .NET Standard 2.0 标准,我现在该怎么做?
NET Standard 适用于 class 库。应用程序必须以 netcoreapp* 为目标,其中 * 是版本号。下面显示了兼容性矩阵:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
例如,.NET Core 2 可以使用 .NET Standard 版本 2 及更低版本。
It is not inherently possible to run a
netstandard
project as an executable. Sincenetstandard
was designed to be used for libraries.
为了完全在 netstandard2.0
中开发您的 Web 应用程序,您必须创建一个单独的项目,以 .NET Core 或 .NET Framework 为目标来执行您的库,其中包含您的Web 应用程序(使用 .NET Standard 开发).
1. Executable Project (ex: console app)
-- Target Framework: netcoreapp2.0 / net462
2. Web Application Project (library)
-- Target Framework: netstandard2.0
您可以使用以下步骤更改项目的目标框架。
步骤 1. 定位所需的框架
右键单击您的项目并 select
Edit *****.csproj
在
.csproj
文件中,需要将目标框架替换为.NET Framework。
示例 .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
等* ) 你可以检查这个 link :
https://docs.microsoft.com/en-us/dotnet/standard/frameworks
步骤 2.运行dotnet restore
转到输出 window 和 运行 dotnet restore
.
注意:有时 Visual Studio 可能会出现异常(取决于您安装的更新),因此您可能需要关闭并重新打开 Visual Studio。否则,有时 clean/re-build 可能会起作用。
针对两个框架
您可以选择一个或另一个,甚至可以针对 两个 框架。
<TargetFrameworks>netcoreapp2.0; net47</TargetFrameworks> //<-- note the plural form!