Gee*_*_SO 6 c# asp.net asp.net-core .net-standard
我刚刚创建了一个新项目dotnet new web.我的Google-foo可能会让我失望,但我没有找到任何与我的答案相关的内容(请链接到另一个SO答案,或相关文档,如果我错过了一些明显的东西).
如果我想确保这个新项目符合.NET Standard 2.0,我现在该怎么办?
NET Standard适用于类库.应用程序必须以netcoreapp*为目标,其中*是版本号.以下显示了兼容性矩阵:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
例如,.NET Core 2可以使用.NET Standard 2及更低版本.
将
netstandard项目作为可执行文件运行本身并不是可能的.因为netstandard被设计用于图书馆.
为了完全开发Web应用程序netstandard2.0,您必须创建一个单独的项目,该项目以.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
Run Code Online (Sandbox Code Playgroud)
您可以使用以下步骤更改项目的目标框架.
步骤1.定位所需的框架
右键单击您的项目并选择 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>
Run Code Online (Sandbox Code Playgroud)
对于列表的目标框架名字对象(TFM) (即net47,netstandard2.0,netcoreapp2.0,等*),您可以检查此链接了: 
 https://docs.microsoft.com/en-us/dotnet/standard/frameworks
第2步.运行 dotnet restore
转到输出窗口并运行dotnet restore.
注意:有时Visual Studio可能会出现异常(取决于您安装的更新),因此您可能必须关闭并重新打开Visual Studio.否则,有时干净/重建可能会成功.
您可以选择其中一个,甚至可以定位两个框架.
<TargetFrameworks>netcoreapp2.0; net47</TargetFrameworks> //<-- note the plural form!
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6232 次  |  
        
|   最近记录:  |