ð ïž ææ¯æ : C# / .NET Core
> åš Java äž PHP 䞻富ççµååŒæºçåŸäžïŒ.NET éµè¥å§ç»çŒºå°äžæ¬Ÿçæ£å ·å€äŒäžçº§è§æš¡ãæ¶æäž¥è°šäžçæå®åçåŒæºååç³»ç»ãnopCommerce çè¯çïŒå¡«è¡¥äºè¿äžç©ºçœââå®äžä» æ¯ GitHub äž .NET çæstars æé«ççµå项ç®ä¹äžïŒæŽæ¯æ æ°äŒäžæå»ºå®å¶å B2C/B2B ååçéŠéåºç³ãæ¬æå°ä»æ¶æè®Ÿè®¡ãææ¯æ éåãäžå¡æš¡åæè§£å°äºæ¬¡åŒåå®è·µïŒå šæ¹äœæ·±åºŠåæè¿äž .NET çµåæè°é¡¹ç®ã
é¡¹ç®æŠè§äžé¡¹ç®åŒæºå°å
è¯çèæ¯äžæ žå¿å®äœ
çµåç³»ç»ç倿æ§è¿è¶ æ®é CRUD åºçšââå®éèŠå€çåå SKU çå€ç»Žå±æ§ã倿çä¿éè§ååŒæãå€ç§æ·é犻ã倿¯ä»æ¹åŒéæãåºåå¹¶åæ§å¶ä»¥åé«å¹¶ååºæ¯äžç订åäžèŽæ§ä¿éãåš nopCommerce åºç°ä¹åïŒ.NET åŒåè èŠä¹éæ©åäžåç Sitecore Commerce æ eShop æ¹æ¡ïŒèŠä¹ä»é¶æå»ºïŒé¢äžŽå·šå€§çç åææ¬äžåšæé£é©ã
nopCommerce ç± Nop Solutions Ltd. å¢é䞻富åŒåïŒèª 2008 幎éŠäžªçæ¬ååžä»¥æ¥ïŒåç»åäœå¹Žçæç»è¿ä»£ïŒå·²åå±æäžº .NET çæäžåèœæå šé¢ãæ¶ææäž¥è°šçåŒæºçµåç³»ç»ãå ¶æ žå¿äžå¡çç¹è§£å³æè·¯äœç°åšïŒ
– åŒç®±å³çšç宿ŽçµåèœåïŒæ¶µçåå管çã订åçåœåšæã客æ·èŽŠæ·ãä¿éè§åãå€è¯èšå€åžç§ãSEO äŒåççµåæ žå¿åºæ¯
– äŒäžçº§æ¶æè®Ÿè®¡ïŒéçšå屿¶æãäŸèµæ³šå
¥ãæä»¶åæºå¶ïŒæ¯æä»åäœå°åŸ®æå¡çå¹³æ»æŒè¿
– å€ç§æ·äžå€ååºæ¯æïŒåçæ¯æå€åºéºãå€è¯èšãå€åžç§ïŒæ»¡è¶³éå¢åçµåäžå¡éæ±
– 瀟åºé©±åšæç»æŒè¿ïŒæ¥ææŽ»è·çå
šçåŒåè
瀟åºïŒæç»èŽ¡ç®æä»¶ãäž»é¢äžæ©å±å
åŒæºä¿¡æ¯
项ç®åŒæºå°åïŒnopCommerce
– åŒæºåè®®ïŒGPL v3ïŒGNU General Public License v3ïŒ
– GitHub StarsïŒ9.5k+
– 莡ç®è
è§æš¡ïŒå
šç 200+ 掻è·èŽ¡ç®è
– ç€ŸåºæŽ»è·åºŠïŒæç»ç»Žæ€ïŒæ¯å¹Žååž 2-3 䞪䞻èŠçæ¬ïŒIssue ååºåæ¶
– 宿¹ææ¡£ïŒhttps://docs.nopcommerce.com/
è¯èšäžæ žå¿ææ¯æ 深床åæ
nopCommerce çææ¯éåå åäœç°äº .NET çæçäŒäžçº§å·¥çšå®è·µïŒå ¶ææ¯æ èŠçå端ãåç«¯ãæ°æ®ååšäžéšçœ²åºç¡è®ŸæœïŒåœ¢æå®æŽçææ¯éç¯ã
åç«¯ææ¯æ
| ææ¯ç»ŽåºŠ | éå | 诎æ |
|———|——|——|
| åŒåè¯èš | C# 10+ | éçšææ° C# è¯æ³ç¹æ§ïŒä»£ç 衚蟟å区 |
| æ žå¿æ¡æ¶ | ASP.NET Core 6/7 | è·šå¹³å°ã髿§èœãäºåç就绪 |
| ORM æ¡æ¶ | Entity Framework Core | æ¯æ Code-First äž Database-First åæš¡åŒ |
| äŸèµæ³šå
¥ | ASP.NET Core DI | åç DI 容åšïŒæ¯æ Scoped/Transient/Singleton çåœåšæ |
| API è§è | RESTful + Web API | æ¯æ JSON/XML åºååïŒSwagger/OpenAPI ææ¡£èªåšçæ |
| åå
æµè¯ | xUnit + Moq | 宿Žçåå
æµè¯äžéææµè¯èŠç |
| 代ç 莚é | SonarQube + StyleCop | éæä»£ç åæïŒç¡®ä¿ä»£ç è§èäžèŽšééšçŠ |
åç«¯ææ¯æ
nopCommerce éçšåå端åçŠ»æ¶æïŒç®¡çåå°äžåå°å忝æå€ç§åç«¯ææ¯éåïŒ
| ææ¯ç»ŽåºŠ | éå | 诎æ |
|———|——|——|
| 管çåå° | ASP.NET Core MVC + jQuery | ç»å
žæå¡ç«¯æž²ææ¶æïŒSEO å奜 |
| åå°åå | ASP.NET Core MVC + Bootstrap | ååºåŒè®Ÿè®¡ïŒæ¯æå€äž»é¢åæ¢ |
| ç°ä»£åç«¯æ¹æ¡ | React / VueïŒç€Ÿåºæä»¶ïŒ | æ¯ææ 倎çµåæš¡åŒïŒéè¿ API é©±åš |
| UI ç»ä»¶åº | Bootstrap 5 + AdminLTE | æççåå°ç®¡ççé¢ç»ä»¶äœç³» |
| æå»ºå·¥å
· | Webpack / MSBuild | åç«¯èµæºæå
äžçŒè¯ |
æ°æ®ååšäžçŒå
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â æ°æ®ååšå± â
ââââââââââââââââ¬âââââââââââââââ¬âââââââââââââââ¬âââââââââââââ€
â äž»æ°æ®åº â æçŽ¢åŒæ â çŒå â æ¶æ¯éå â
ââââââââââââââââŒâââââââââââââââŒâââââââââââââââŒâââââââââââââ€
â MySQL/ â Elasticsearchâ Redis â RabbitMQ â
â PostgreSQL â â â â
â SQL Server â â â â
â MongoDB â â â â
ââââââââââââââââŽâââââââââââââââŽâââââââââââââââŽâââââââââââââ
– å
³ç³»åæ°æ®åºïŒåçæ¯æ SQL ServerãMySQLãPostgreSQLïŒéè¿ EF Core å®ç°æ°æ®åºæœè±¡å±
– æçŽ¢åŒæïŒElasticsearch éæïŒæ¯æååå
šææ£çŽ¢ãè¿æ»€ãæåºïŒæåæçŽ¢æ§èœ
– çŒåå±ïŒRedis ååžåŒçŒåïŒæ¯æäŒè¯çŒåãååçŒåãä¿éè§åçŒå
– æ¶æ¯éåïŒRabbitMQ éæïŒçšäºè®¢ååŒæ¥å€çãé®ä»¶åéãåºåæ£åçåºæ¯
éšçœ²äžåºç¡è®Ÿæœ
| éšçœ²æ¹åŒ | æ¯ææ
åµ | 诎æ |
|———|———|——|
| Docker | â
宿¹æ¯æ | æäŸ docker-compose äžé®éšçœ²æ¹æ¡ |
| Kubernetes | â
ç€Ÿåºæ¯æ | æ¯æ Helm Chart éšçœ²ïŒäºåçæ¶æ |
| Nginx | â
åå代ç | æ¯æ HTTPS é
眮ãèŽèœœåè¡¡ãéæèµæºçŒå |
| IIS | â
åçæ¯æ | Windows ç¯å¢äžçæ åéšçœ²æ¹æ¡ |
| äºæç®¡ | â
Azure/AWS | æ¯æ Azure App ServiceãAWS Elastic Beanstalk |
æ žå¿åèœäžäžå¡æš¡åæè§£
nopCommerce çåèœç©éµèŠçäºçµåäžå¡ç宿ŽçåœåšæïŒä»ååäžæ¶å°è®¢å履纊ïŒä»å®¢æ·è¥éå°æ°æ®åæïŒåœ¢æéç¯çäžå¡èœåã
æ žå¿åèœæš¡åç©éµ
#### 1. åå管çäœç³»
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â ååç®¡çæ žå¿ â
âââââââââââââââââââ¬ââââââââââââââââââ¬ââââââââââââââââââââââââââ€
â åååºç¡ä¿¡æ¯ â SKU äžåäœ â åºåäžä»·æ Œç®¡ç â
âââââââââââââââââââŒââââââââââââââââââŒââââââââââââââââââââââââââ€
â ⢠å€è¯èšæè¿° â ⢠å€è§æ Œå±æ§ â â¢ å®æ¶åºå远螪 â
â ⢠SEO URL å奜 â ⢠åŸçç»å» â ⢠æ¹éä»·æ Œè°æŽ â
â ⢠åç±»æ åœ¢ç»æ â ⢠æ°åå忝æ â ⢠ä¿éä»·æ Œè§å â
â ⢠æ çŸäžå±æ§ â ⢠ç»ååå â ⢠éé/äœç§¯è®¡è޹ â
âââââââââââââââââââŽââââââââââââââââââŽââââââââââââââââââââââââââ
– å€çº§åç±»äœç³»ïŒæ¯ææ éå±çº§åç±»ïŒæ¯äžªåç±»å¯ç¬ç«è®Ÿçœ®å±ç€ºæ¹åŒãSEO åæ°
– SKU åäœåŒæïŒæ¯æé¢è²ã尺寞ãè§æ Œçå€ç»ŽåºŠå±æ§ç»åïŒèªåšçæ SKU
– æ°åå忝æïŒæ¯æäžèœœåååïŒå
å«äžèœœéŸæ¥æææãäžèœœæ¬¡æ°éå¶
– ååå
³èæšèïŒæ¯æçžå
³äº§åãrequently bought together ç亀åéå®
#### 2. 订åçåœåšæç®¡ç
订åå建 â åºåæ ¡éª â æ¯ä»å€ç â 订å确讀 â å莧å€ç â 宿/鿬Ÿ
â â â â â â
⌠⌠⌠⌠⌠âŒ
èŽç©èœŠ åºåéå® æ¯ä»çœå
³ é®ä»¶éç¥ ç©æµå¯¹æ¥ å®åå·¥å
– èŽç©èœŠåŒæïŒæ¯æèŽç©èœŠæä¹
åãå€è®Ÿå€åæ¥ãäŒæ åžå å
– æ¯ä»çœå
³éæïŒåçæ¯æ PayPalãStripeãAuthorize.NetïŒæ¯ææä»¶æ©å±
– 订åç¶ææºïŒæž
æ°çç¶ææµèœ¬ïŒæ¯æåæ¶ã鿬Ÿãéšåå莧
– å祚äžçšå¡ïŒæ¯æå€å°åºçšå¡è§åïŒèªåšçæå祚
#### 3. 客æ·äžäŒåäœç³»
| åèœç¹ | 诎æ |
|——-|——|
| å€è§è²æé | 管çåãåºåã客æ·çè§è²ïŒç»ç²åºŠæéæ§å¶ |
| 客æ·åç» | æ¯ææå°åºãèŽä¹°è¡äžºãæ çŸç绎床åç» |
| äŒåç级 | 积åäœç³»ãç级æçãäžå±ä»·æ Œ |
| 瀟亀ç»åœ | GoogleãFacebookãTwitter çç¬¬äžæ¹ç»åœ |
| å°å管ç | 倿¶èާå°åãé»è®€å°åãå°åç°¿ |
#### 4. ä¿éäžè¥éåŒæ
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â ä¿éè§ååŒæ â
ââââââââââââââââââ¬âââââââââââââââââ¬âââââââââââââââââââââââââââââ€
â ææ£è§å â ä¿éæŽ»åš â é®ä»¶è¥é â
ââââââââââââââââââŒâââââââââââââââââŒâââââââââââââââââââââââââââââ€
â ⢠çŸåæ¯ææ£ â â¢ éæ¶ä¿é â ⢠é®ä»¶æš¡æ¿åŒæ â
â ⢠åºå®éé¢ææ£ â ⢠买äžéäž â ⢠èªåšåé®ä»¶è§Šå â
â ⢠å
莹é
é â ⢠æç»äŒæ â ⢠é®ä»¶éå管ç â
â â¢ é¶æ¢¯ä»·æ Œ â ⢠æ°åäžæ¶ â ⢠æåŒç/ç¹å»ç远螪 â
ââââââââââââââââââŽâââââââââââââââââŽâââââââââââââââââââââââââââââ
#### 5. å€ååºäžå€ç§æ·
– å€ååºç®¡çïŒåå®äŸéšçœ²å€äžªç¬ç«ååºïŒå
±äº«åå°ç®¡ç
– å€è¯è𿝿ïŒåçæ¯æ 20+ è¯èšïŒç¿»è¯å
瀟åºç»Žæ€
– å€åžç§æ¯æïŒå®æ¶æ±çæŽæ°ïŒæ¯æèާåžèœ¬æ¢
– ååéçŠ»ïŒæ¯æå€ååç»å®ïŒèªåšè¯å«ååºäžäžæ
ææ¯æ¶æäº®ç¹äžäºæ¬¡åŒåäŒå¿
æ¶æè®Ÿè®¡äº®ç¹
#### 1. å屿¶æäžå ³æ³šç¹å犻
nopCommerce äž¥æ ŒéµåŸªå屿¶æååïŒä»£ç ç»ææž æ°ïŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Presentation Layer â
â (Controllers / Views / APIs) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â Application Layer â
â (Services / Use Cases) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â Domain Layer â
â (Entities / Value Objects / Domain Events) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â Infrastructure Layer â
â (Repositories / External Services / Caching) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
– Presentation LayerïŒMVC ControllersãWeb APIãRazor PagesïŒèŽèŽ£è¯·æ±å€çäžååº
– Application LayerïŒäžå¡æå¡å±ïŒå°è£
æ žå¿äžå¡é»èŸïŒäžäŸèµåºç¡è®Ÿæœ
– Domain LayerïŒé¢åæš¡åå±ïŒå
å«å®äœãåŒå¯¹è±¡ãé¢åäºä»¶ïŒä¿æé¢å纯粹æ§
– Infrastructure LayerïŒåºç¡è®Ÿæœå±ïŒå®ç°ä»åšãçŒåãæ¶æ¯éåçå€éšäŸèµ
#### 2. æä»¶åæ¶æ
nopCommerce çæä»¶ç³»ç»æ¯äºæ¬¡åŒåçæ žå¿äŒå¿ïŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â æä»¶æ¶ææºå¶ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â æä»¶ç®åœç»æïŒ â
â Plugins/ â
â âââ Nop.Plugin.Payments.PayPal/ â
â â âââ Controllers/ â
â â âââ Services/ â
â â âââ ViewComponents/ â
â â âââ Views/ â
â â âââ PaymentPayPalProcessor.cs â
â â âââ plugin.json â
â âââ Nop.Plugin.Widgets.GoogleAnalytics/ â
â âââ ... â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
– æä»¶åç°æºå¶ïŒèªå𿫿 Plugins ç®åœïŒå 蜜 plugin.json é
眮
– äŸèµæ³šå
¥æ³šåïŒæä»¶æå¡èªåšæ³šåå° DI 容åš
– è·¯ç±äžè§åŸéçŠ»ïŒæä»¶æ¥æç¬ç«çè·¯ç±åçŒåè§åŸç®åœ
– çåœåšæç®¡çïŒæ¯ææä»¶å®è£
ãåžèœœãå¯çšãçŠçš
#### 3. å€ç§æ·äžå€ååºæ¶æ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â å€ç§æ·æ°æ®é犻 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â ç§æ·è¯å«æ¹åŒïŒ â
â 1. ååè¯å«ïŒStore.DomainUrlïŒ â
â 2. åè·¯åŸè¯å«ïŒ/en/, /de/ïŒ â
â 3. Cookie/Session è¯å« â
â â
â æ°æ®é犻çç¥ïŒ â
â â¢ ç§æ·çº§é
眮衚ïŒStore 衚å
³èïŒ â
â â¢ ç§æ·çº§è·¯ç±äžäžæïŒIStoreContextïŒ â
â â¢ ç§æ·çº§çŒåé®åçŒ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
#### 4. å®å šæ¶æ
– è®€è¯æºå¶ïŒASP.NET Core IdentityïŒæ¯æ JWTãCookie 讀è¯
– æææš¡åïŒåºäºè§è²çè®¿é®æ§å¶ïŒRBACïŒïŒç»ç²åºŠæé
– æ°æ®ä¿æ€ïŒæææ°æ®å å¯ååšïŒå¯ç ååžïŒPBKDF2ïŒ
– 鲿»å»ïŒCSRF ä¿æ€ãXSS è¿æ»€ãSQL 泚å
¥é²æ€ïŒEF Core åæ°åæ¥è¯¢ïŒ
äºæ¬¡åŒåäŒå¿
| åŒååºæ¯ | æ¯ææ¹åŒ | äŸ¿æ·æ§ |
|———|———|——-|
| åèœæ©å± | æä»¶åŒå | âââââ æ åæä»¶æš¡æ¿ïŒåŒç®±å³çš |
| äž»é¢å®å¶ | äž»é¢èŠç | âââââ æ éä¿®æ¹æºç ïŒèŠçè§åŸå³å¯ |
| API æ©å± | Web API æä»¶ | ââââ éµåŸª RESTful è§è |
| äžå¡é»èŸå®å¶ | æå¡æ³šå
¥ | ââââ DI å®¹åšæ¯æïŒèœ»æŸæ¿æ¢å®ç° |
| æ°æ®åºæ©å± | EF Core è¿ç§» | ââââ Code-First è¿ç§»ïŒçæ¬å¯æ§ |
| æ§èœäŒå | çŒåçç¥ | ââââ å€çº§çŒåïŒRedis æ¯æ |
å¿«éäžæãéšçœ²å®æäžé¡¹ç®éå建议
ç¯å¢äŸèµèŠæ±
# å端è¿è¡æ¶
.NET SDK 6.0+ / .NET 7.0+
SQL Server 2019+ / MySQL 8.0+ / PostgreSQL 13+
Redis 6.0+ïŒå¯éïŒçšäºçŒåïŒ
RabbitMQ 3.8+ïŒå¯éïŒçšäºæ¶æ¯éåïŒ
# å端æå»º
Node.js 16+ïŒçšäºåç«¯èµæºæå»ºïŒ
npm / yarn
# åŒåå·¥å
·
Visual Studio 2022 / Rider / VS Code
Git
Docker äžé®éšçœ²
# å
é项ç®
git clone https://github.com/nopCommerce/nopCommerce.git
cd nopCommerce
# äœ¿çš Docker Compose äžé®å¯åš
docker-compose up -d
# æ¥çæå¡ç¶æ
docker-compose ps
# 访é®åºçš
# 管çåå°ïŒhttp://localhost:80/admin
# åå°ååïŒhttp://localhost:80
docker-compose.yml é 眮瀺äŸïŒ
version: '3.8'
services:
nopcommerce:
image: nopcommerce/nopcommerce:latest
ports:
- "80:80"
- "443:443"
environment:
- ConnectionStrings__SqlServerConnection=Server=db;Database=nopCommerce;User Id=sa;Password=YourStrong@Passw0rd;
- ConnectionStrings__RedisConnection=redis:6379
depends_on:
- db
- redis
db:
image: mcr.microsoft.com/mssql/server:2022-latest
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=YourStrong@Passw0rd
volumes:
- sqlserver_data:/var/opt/mssql
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
volumes:
sqlserver_data:
redis_data:
æ¬å°åŒåå¯åš
# 1. è¿å NuGet å
dotnet restore src/NopCommerce.sln
# 2. é
çœ®è¿æ¥å笊䞲
# çŒèŸ Nop.Web/appsettings.json
{
"ConnectionStrings": {
"SqlServerConnection": "Server=(localdb)\mssqllocaldb;Database=nopCommerce;Trusted_Connection=True;"
}
}
# 3. è¿è¡æ°æ®åºè¿ç§»
dotnet ef database update --project src/Data.Nop4 --startup-project src/Nop.Web
# 4. å¯åšåºçš
dotnet run --project src/Nop.Web
项ç®éåå³çæå
| åºæ¯ | æšèææ° | 诎æ |
|——|———|——|
| .NET ææ¯æ çµåé¡¹ç® | âââââ | åç .NET çæïŒä»£ç 莚éé«ïŒç»Žæ€ææ¬äœ |
| äŒäžçº§ B2C åå | âââââ | åèœå®æŽïŒæ¶æäž¥è°šïŒéå倧åé¡¹ç® |
| B2B å€ç§æ·å¹³å° | ââââ | æ¯æå€ååºïŒäœ B2B ç¹æ§éäºæ¬¡åŒå |
| è·šå¢çµå | ââââ | å€è¯èšå€åžç§æ¯æè¯å¥œïŒéé
眮æ±çæ¥å£ |
| å¿«éååéªè¯ | âââ | åèœå
šé¢äœèŸéïŒèœ»éåºæ¯å¯èèç®åæ¹æ¡ |
| 埮æå¡æ¶ææŒè¿ | ââââ | æ¯ææ 倎çµåæš¡åŒïŒå¯éæ¥æåæå¡ |
éå建议æ»ç»
nopCommerce æéå以äžåºæ¯ïŒ
1. å·²æ .NET ææ¯å¢éçäŒäžïŒåžæåºäºæçåŒæºæ¹æ¡å¿«éå¯åšçµå项ç®
2. éèŠé«åºŠå®å¶åççµåäžå¡ïŒäŸèµæä»¶åæºå¶è¿è¡åèœæ©å±
3. å€ååº/å€åçè¿è¥çéå¢åäŒäžïŒéèŠç»äžåå°ç®¡çå€åºéº
4. 对代ç 莚éåæ¶æäž¥è°šæ§æé«èŠæ±çäžå€§å项ç®
对äºä»¥äžåºæ¯ïŒå»ºè®®è°šæ è¯äŒ°ïŒ
– è¶
蜻é级çµåéæ±ïŒå¯èèæŽèœ»éçæ¹æ¡ïŒåŠ MedusaãSaleorïŒ
– é .NET ææ¯æ å¢éïŒåŠä¹ ææ¬èŸé«
– éèŠé«åºŠå®å¶åç B2B 倿å®ä»·é»èŸïŒéè¯äŒ°äºæ¬¡åŒåå·¥äœé
—
> ç»è¯ïŒnopCommerce äœäžº .NET çæäžææççåŒæºçµåç³»ç»ïŒå ¶ä»·åŒäžä» åšäºåèœå šé¢ïŒæŽåšäºå ¶äž¥è°šçæ¶æè®Ÿè®¡ãæž æ°ç代ç ç»æåå®åçæ©å±æºå¶ãå¯¹äº .NET åŒåè èèšïŒæ·±å ¥çè§£ nopCommerce çæ¶æææ³ïŒäžä» æå©äºå¿«éæå»ºçµå项ç®ïŒæŽèœæåäŒäžçº§ .NET åºçšåŒåçå·¥çšçŽ å »ãåšäºåçäžåŸ®æå¡è¶å¿äžïŒnopCommerce çæ å€Žçµåèœåäžæä»¶åæ¶æïŒäžºå ¶æç»æŒè¿æäŸäºåå®åºç¡ã
⢠Git å éåœä»€ïŒ
git clone https://github.com/nopCommerce/nopCommerce.git