# .Net 即將淘汰套件處理
##### tags: `.Net` `筆記`
說明
---
有時候在做專案的結構調整,再遷移部分功能移到類別庫專案的時候。就會遇到有些功能跳出如下的提示:

說明這個 nuget 元件已經要即將被淘汰,在直觀上繼續安裝並使用也是不太好的選擇。
跳至說明頁也是如下面的說明:

步驟
---

```csharp=
using Microsoft.AspNetCore.SignalR;
namespace WebApplication1.Hubs
{
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
}
```
當我們把 ChatHub 往上移到 ClassLibary 的時候,即使已經選擇 .Net 版本的目標框架,還是會有下面的錯誤。

這時候我們就會開始找對應的 Nuget 工具,把前面那些可能即將淘汰的工具安裝起來,紅色毛毛蟲解決!
於是我就有了好奇心,應該不是這樣的吧? 果然在微軟官方裡,就有了一篇講解在 Class Libary 裡面怎麼使用 ASP.NET Core APIs 連結於此 [Use ASP.NET Core APIs in a class library](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/target-aspnetcore?view=aspnetcore-6.0&tabs=visual-studio)
```xml=
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<!--加入對Framework 的參考-->
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
```
就可以在類別庫專案,使用 ASP.NET Core APIs 了。