مشخصات مقاله
-
968
-
0.0
-
2556
-
0
-
0
آموزش MVC Core-اجرای MVC Core از طریق مونو
آموزش MVC Core-اجرای MVC Core از طریق مونو
معرفی
در این مقاله، شما نحوه اجرای پروژه ASP.NET Core 2.0 خود را از طریق مونو یاد خواهید گرفت.
اکثر اوقات ما از .NET Core CLI برای اجرای ASP.NET Core web application استفاده می کنیم ، مانند dotnet run و dotnet xxx.dll .
اما، Mono می تواند ASP.NET Core web application را به خوبی اجرا کند! گام به گام به شما نشان خواهم داد.
شروع کنیم!
مرحله 1
یک ASP.NET Core Web application به نام MonoDemo ایجاد کنید:
مرحله 2
default target را از .NET Core به NET Framework تغییر بدهید.
توجه داشته باشید
اگر شما تعجب کردید که چرا ما در اینجا NET Framework انتخاب کردیم شما باید درباره مفاهیمی مانند(NET Core ، ASP.NET Core ، NET Framework و غیره) بیشتر بدانید.
مرحله 3
برای اینکه این برنامه بتواند در OSX anLinux اجرا شود، ما باید MonoDemo.csproj را ویرایش کنیم.
در اینجا MonoDemo.csproj بعد از ویرایش است.
< Project Sdk="Microsoft.NET.Sdk.Web" >
< PropertyGroup >
< TargetFramework >net461< /TargetFramework >
< RuntimeIdentifiers >osx-x64;linux-x64< /RuntimeIdentifiers >
< /PropertyGroup >
< ItemGroup >
< PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" / >
< PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" / >
< PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.0" PrivateAssets="All" / >
< PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" / >
< PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.0" / >
< /ItemGroup >
< ItemGroup >
< DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" / >
< /ItemGroup >
< /Project >
مرحله 4
این برنامه وب را با استفاده از NET Core CLI command منتشر کنید.اگر هدف شما OSX باشد، می توانید از دستور زیر استفاده کنید.
dotnet publish -r osx-x64 -c Release -f net461
اگر هدف شما لینوکس باشد، می توانید از دستور زیر استفاده کنید.
dotnet publish -r linux-x64 -c Release -f net461
در اینجا، از OSX برای مثال استفاده می کنم. و این شبیه همان لینوکس است. تنها تفاوت بین آنها از فایل های libuv است. هر سیستم عامل نوع خاصی دارد.
مرحله 5
تمام فایل های موجود در پوشه Publish بر روی کامپیوتر MAC یا Linux کپی کنید. قبل از مراحل زیر، ابتدا باید مونو را نصب کنید.اگر هنوز نصب نکرده اید می توانید از لینک زیر استفاده کنید:
http://www.mono-project.com/download/
مرحله 6
بیایید آن را از طریق مونو اجرا کنیم.
mono MonoDemo.exe
متاسفانه، پس از اجرای دستور فوق، برخی از خطاهای ترمینال را می بینیم. ما باید یک DLL با نام System.Runtime.InteropServices.RuntimeInformation.dll را از پوشه Publish حذف کنیم.
پس از از بین بردن، برنامه به خوبی اجرا می شود.
مرحله 7
مرورگر خود را باز کرده و آدرس http: // localhost: 5000 را وارد کنید. شما متوجه خواهید شد که همه چیز خوب است.
ما می توانیم از دستور lsof برای پیدا کردن کسی که در حال گوش دادن به پورت 5000 است استفاده کنیم.
lsof -i :5000
برای مقایسه، من یک ASP.NET Core web application جدید را از طریق .NET Core CLI اجرا می کنم.
در نهایت، به لینوکس بروید و این برنامه را نیز اجرا کنید. در اینجا، من از CentOS برای مثال استفاده می کنم.
همانطور که می بینید، هر دو OSX و لینوکس یکسان هستند و از طریق Mono به راحتی اجرا می شوند.
در زیر یک نمونه فایل service برای برنامه ما است:
# Code removed for brevity. [Service] WorkingDirectory=/var/www/monodemo ExecStart=/usr/bin/mono /var/www/momodemo/MonoDemo.exe # Code removed for brevity.
خلاصه
این مقاله راه دیگری برای اجرای ASP.NET Core web application وب از طریق مونو معرفی کرده است. امیدوارم این مقاله به شما کمک کرده باشد.