現在我正在重構我的一些代碼,因為 C#10 已經到位。我注意到參考的數量是瘋狂的。出于這個原因,我想使用 將每個專案中共享的所有內容重構為一個“共享的” global usings,但它沒有按預期作業。
僅用于“最小”示例。
我有一個配置 API 配置(中間件等)的類別庫。然后我還有其他幾個圖書館。
這里的關鍵是我想要一個名為“setup”的庫,它參考所有其他庫,并且使用“全域使用”,能夠在包含所有域邏輯的 web 應用程式中匯入該庫
但是,當我在新setup專案中創建檔案時,global using Shared.API.xxx似乎什么也沒做。
我還在 web 應用程式中匯入了接下來的setup專案:
<ItemGroup>
<Using Include="Shared.Setup" />
</ItemGroup>
這可以進行跨專案全域使用嗎?
注意:當我global using Shared.API.xxx在 web 應用程式中的任何地方匯入時,它會按預期作業。
uj5u.com熱心網友回復:
由于檔案狀態 - global usings 僅限于編譯(專案)中的檔案:
將全域修飾符添加到 using 指令意味著 using 應用于編譯中的所有檔案(通常是一個專案)。
如果您可以引入可傳遞的全域使用,請想象一下進口污染。
但是您可以global using通過手動添加它們作為每個專案的鏈接來共享:
- 在 VS 中 -右鍵單擊目標專案->添加->現有專案但不是單擊“添加”,而是單擊右側的下拉箭頭并選擇“添加為鏈接”
- 或者通過添加 next 手動編輯 .csproj:
<ItemGroup>
<Compile Include="Relative_Path_To_Shared.Setup.SharedUsingsFile.cs" Link="SharedUsingsFile.cs" />
</ItemGroup>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/393512.html
