# 在 .Net Core 3.0 以上使用 ASP.NET Core API 時,無法正確參考到需要的功能 在 .Net Core 專案中有時候會遇到一些情況是需要使用 ASP.NET Core 底層的 API 之前都是上網查一下他是屬於那顆 Nuget Library 裡面,然後再把它安裝起來,通常就能解決了 這次遇到的狀況是需要使用 .Net Core 3.0 才出現的 GetEndpoint() 一如既往的去查了文件,發現是在 **Microsoft.AspNetCore.Http.Abstractions.dll** 裡面  裝完後才發現仍然會錯誤,而且就算把其他的相關 Library 也裝上後,仍然是顯示找不到該方法 這時突然發現,這些相關套件很多都是 2.2.0 的版本,但現在都是 .Net 6 了,一堆版本都還是 2 開頭太不合常理了  找到官方文件之後發現,在 .Net Core 3.0 之後,許多底層的功能已經不會特別發布為獨立的 Nuget Library 了,現在會根據 Project 所指定的 SDK 類型去決定要參考那些 SDK,就可以取得該 Project 類型所需要的底層 Library 了 * Microsoft.NET.Sdk.Web * Microsoft.NET.Sdk.Razor * ...  因此像這次是需要在某個 Class Project 裡面需要使用到 GetEndpoint() 的功能,在 .csproj 內加入 **<FrameworkReference>** 時,就能正確的使用到當前專案對應的 SDK 所提供的功能了 ``` xml <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> ```  Reference --- * https://learn.microsoft.com/zh-tw/aspnet/core/fundamentals/target-aspnetcore?view=aspnetcore-7.0&tabs=visual-studio#use-the-aspnet-core-shared-framework * https://blog.darkthread.net/blog/add-aspnetcore-ref-in-classlib/ ###### tags: `.Net Core`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up