Rob*_*ron 1 .net asp.net-mvc visual-studio-code .net-standard
我正在尝试创建一个面向 .NET Standard 2.0 的新 .NET MVC 应用程序。当我做一个时,dotnet new mvc -au None
我最终会得到一个针对aspnetcore2.0
. 由于我希望项目定位,因此netstandard2.0
我必须手动制作.csproj
文件:
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
一切都很好,但是当我做某事时dotnet run
会往南走:
一个可运行的项目应该针对一个可运行的 TFM(例如,netcoreapp2.0)并具有 OutputType 'Exe'。
相关资料:
dotnet --version
2.1.4
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
小智 5
你应该针对netcoreapp2.0
.
.Net Standard 是 .Net 基类库的一个实现,它定义了您可以编程的 API 标准列表。因此,您的项目可以像针对 .Net XX 一样针对 .Net Standard
当你选择了DotNetCore 2.0,你真的选择一个实施的.NET标准的,基于.NET标准2.0消耗类。这些类通常被编译成一个不可执行的类库 (dll)。或者,您可以在基于标准的应用程序项目中构建类的实现。DotNetCore 应用程序是可执行的控制台应用程序。
请参阅部分:与 .NET Standard 的关系