# Solutions और Project References — .NET Core: वेब API बनाएँ, टेस्ट करें और शिप करें

Source: https://www.geekswithgeeks.com/hi/dotnet-core/proj-solutions

> API, class library और tests को एक solution में व्यवस्थित करें।

## एक solution, कई projects

Solution फ़ाइल से कई projects एक साथ build और test होते हैं। Project reference एक project को दूसरे का कोड उपयोग करने देता है, जैसे API का shared `Core` library उपयोग करना।

## सब जोड़ें

तीन projects बनाएँ, उन्हें solution में रखें और API व tests से library को reference करें।

```bash
dotnet new sln -n Shop
dotnet new classlib -o src/Shop.Core
dotnet new web -o src/Shop.Api
dotnet new xunit -o tests/Shop.Tests
dotnet sln add src/Shop.Core src/Shop.Api tests/Shop.Tests
dotnet add src/Shop.Api reference src/Shop.Core
dotnet add tests/Shop.Tests reference src/Shop.Core
```

## Circular references से बचें

अगर B पहले से A को reference करता है तो A, B को reference नहीं कर सकता। ऐसा हो तो साझा कोड को तीसरे, निचले स्तर के project में ले जाएँ।

**Quiz:** `dotnet sln add` क्या करता है?

- [ ] NuGet package जोड़ता है
- [x] Solution फ़ाइल में project जोड़ता है
- [ ] Solution publish करता है
- [ ] Database जोड़ता है

*Answer:* Solution फ़ाइल में project जोड़ता है. यह मौजूदा projects को `.sln` में दर्ज करता है ताकि वे साथ build हों।
