![](/img/trans.png)
[英]How to create an F# library with target framework as .NET Standard 2.0?
[英]How to target .NET Standard 2.0?
我正在嘗試創建一個針對.NET Standard 2.0的新.NET MVC應用程序。 當我做一個dotnet new mvc -au None
我最終得到了一個面向aspnetcore2.0
的應用程序。 由於我希望項目以netstandard2.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>
一切都構建良好,但是當我dotnet run
一切都會往南移動:
可運行的項目應以可運行的TFM(例如netcoreapp2.0)為目標,並具有OutputType'Exe'。
相關信息:
dotnet --version
2.1.4
我在這里想念什么?
您應該定位netcoreapp2.0
。
.Net Standard是.Net基類庫的實現,該庫定義了可以進行編程的API的標准列表。 因此,您的項目可以以.Net Standard為目標,就像可以以.Net XX為目標一樣
當您選擇DotNetCore 2.0時,您實際上是在選擇.net標准的實現 ,該實現使用基於.net standard 2.0的類。 這些類通常被編譯為不可執行的類庫(dll)。 或者,您可以基於該標准在應用程序項目中構建類的實現。 DotNetCore應用程序是可執行的控制台應用程序 。
請參閱部分: 與.NET Standard的關系
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.