মনো ব্যবহার করে পাইতে নেট নেট কোড চালানো কি সম্ভব?


41

মনোর সাথে রাস্পবেরি পাইতে .NET অ্যাপ্লিকেশনগুলি চালানো কি সম্ভব (এবং সম্ভাব্য) ?

যদি তা হয় তবে তারা কতটা ভালভাবে চালায়? একটি বেসিক জিইউআই ব্যবহারযোগ্য, বা দুর্বল কার্য সম্পাদন কি এটিকে কমান্ড লাইন অ্যাপ্লিকেশনগুলিতে সীমাবদ্ধ করে?


হয়তো Portable.NET এছাড়াও একটি বিকল্প।
ডের হচস্টাপলার

উত্তর:


25

একটি Stackoverflow প্রশ্ন বেশ, এই অনুরূপ নেই মনো রাস্পবেরী Pi উপর । যাইহোক, আমার নিজের গবেষণার মাধ্যমে, আমি। নেট সম্পর্কে নির্দিষ্ট কিছু খুঁজে পাচ্ছি না, বরং কেবল সি #।

আপনি ডেবিয়ান ডিস্ট্রোতে এপিটি ব্যবহার করে রানটাইম ইনস্টল করতে পারেন :

$ sudo apt-get install mono-runtime

এছাড়াও আপনি (ধরে নিবেন আপনার কোনও ধরণের জিইউআই রয়েছে যেমন এলএক্সডিইডি) ধীর মনো আইডিই এটি দিয়ে ইনস্টল করতে পারেন:

$ sudo apt-get install monodevelop

জন্য আর্চ লিনাক্স এআরএম আপনি মাধ্যমে রানটাইম ইনস্টল করতে হবে Pacman তাই মত:

$ sudo pacman -S mono

মনো আইডিই একই ধরণের ইনস্টল করা যেতে পারে:

$ sudo pacman -S monodevelop

1
"বরং কেবল সি #" বলতে কী বোঝ?
জন এগারটন

@ জোনএগারটন সি # একটি ভাষা যখন .NET একটি কাঠামো। আপনি সি # দিয়ে .NET কাঠামোর জন্য বিকাশ করতে পারেন, তবে সি # একটি স্বাধীন প্রোগ্রামিং ভাষা হিসাবে একা দাঁড়িয়ে থাকতে পারেন। আরও সম্পর্কিত সম্পর্কিত উদাহরণ হতে পারে: আপনি জাভা দিয়ে অ্যান্ড্রয়েডের জন্য বিকাশ করেন তবে আপনি জাভা দিয়ে একটি ডেস্কটপ প্রোগ্রাম লিখতে পারেন। সি #। নেট উপর নির্ভর করে না, তবে। নেট সি # এর উপর নির্ভর করে।
অ্যান্ড্রু লারসন

হাই দুঃখিত, আমি এটাই বোঝাতে চাইছি না (আমি আ। নেট দেব !!)। এটি সি # এর এক্সক্লুসিভটি ছিল এবং অন্যান্য। নেট পরিবার ভাষা (vb.net, জে # এফ # ইত্যাদি) নয়। আমি কখনও মনো-তে সন্ধান করিনি, এবং বুঝতে পারিনি এটি কেবল সি # #
জন এগারটন

5
@ অ্যান্ড্রু এটি অন্যভাবে রাউন্ড:। নেট সি # এর উপর নির্ভর করে না - তবে সি # একটি রানটাইমের উপর নির্ভর করে যেমন নেট (বা মনো), এটি কখনই একটি স্বাধীন প্রোগ্রামিং ভাষা অনুশীলন করে না। তদুপরি, মনো সম্পূর্ণরূপে ভাষা অজ্ঞানী (যেমন। নেট), তাই আর একবার এটি সি # এর উপর নির্ভর করে না।
কনরাড রুডল্ফ

1
ডিভাইসে মনো-ডেভেলপার ইনস্টল করবেন না। আস্তে আস্তে আস্তে কেবল সিআইএফএস সহ একটি নেটওয়ার্কড্রাইভ মাউন্ট করুন এবং একটি দ্রুত পিসি / ম্যাক সংকলন করুন এবং তারপরে ল্যানের মাধ্যমে পরীক্ষা চালান।
বার্গগ্রিনডি কে

8

জনপ্রিয় বিশ্বাসের বিপরীতে, ভিবি.এনইটি সংকলিত কোডটি কমপক্ষে ডেবিয়ানের অধীনে, রাস্পবেরি পাইতে সূক্ষ্মভাবে চলে। মনো-ভিবিএনসি ইনস্টল করুন এবং তারপরে মনো এর দ্যূত হিসাবে আপনার ভিবি এক্সিকে চালাবেন যেমন মোণো yourexe.exe

আমি কোনও পারফরম্যান্স বেঞ্চমার্ক করিনি কারণ আমি কোনও পারফরম্যান্স নিবিড় অ্যাপ লিখছি না তবে এখন পর্যন্ত ঠিক আছে বলে মনে হচ্ছে।


যে কোনও .NET ভাষা একই আইএল / বাইটকোডে সংকলন করে, তাই আপনি একবার সংকলকটি (মনো-ভিবিএনসি বা যে কোনও ভাষা) ট্রিগার করলে আপনার ভিবি চলে যায় এবং আইএনএলটি রন্টটাইম কোরটিতে ব্যবহৃত জিনিস।
বার্গগ্রিনডি কে

6

.NET কোড যা .NET ফ্রেমওয়ার্ক লাইব্রেরিগুলি রাস্পবেরি পাইতে চলতে পারে না কারণ এটি চালানোর জন্য NETMF বা সিএলআর এর একটি আর্ম সামঞ্জস্যপূর্ণ সংস্করণ প্রয়োজন । এখনও হিসাবে, মাইক্রোসফ্ট এখনও এআরএম (ওওএ) এ উইন্ডোজ প্রকাশ করতে পারেনি। পড়ুন 19 পরীক্ষা জন্য Microsoft গবেষণা CLR এআরএম কাজ করে।

যাইহোক, .NET কোড (রেফারেন্স ছাড়াই বা। নেট ফ্রেমওয়ার্ক লাইব্রেরি ব্যবহার না করে) চলতে মনো ব্যবহার করা সম্ভব কারণ মনোতে এআরএম ডিভাইসগুলির জন্য সিএলআর রয়েছে।

আরও দেখুন এআরএম প্রসেসর আর্কিটেকচার এর জন্য বিল্ডিং উইন্ডোজ এআরএম (WoA) উইন্ডোজ তথ্যের জন্য।


3
আমি মনে করি আপনার বক্তব্যটি এখানে ভুল। পিসিতে একটি .EXE ফাইলটি অনুলিপি করা সম্ভব যা পিসিতে সংকলিত ছিল যা NET ফ্রেমওয়ার্ক ক্লাস (যেমন সকেট শ্রেণি বা TcpListener শ্রেণীর উদাহরণস্বরূপ) ব্যবহার করে, এটি আরপিআইতে অনুলিপি করে অনুলিপি করে, এবং এটি সম্পূর্ণরূপে চালিত হতে পারে মনোর অধীনে আরপিআই। এটি কারণ হ'ল একই নামের স্থান, প্রকার এবং ইন্টারফেস ব্যবহার করে মনো নিজের বেশিরভাগ .NET ফ্রেমওয়ার্ক বেস শ্রেণিকে প্রতিস্থাপন করে।
dodgy_coder

4

মনোর সাথে কাজ করার জন্য আমার কাছে একটি কমান্ড লাইন। নেট আবেদন রয়েছে। অ্যাপটি মূলত পোর্ট ফরওয়ার্ডিংয়ের মতো কিছু করছে, সিরিয়াল ইউআআআরটির মাধ্যমে প্রাপ্ত ডেটা গ্রহণ করে এবং এটি টিসিপি / আইপি-র মাধ্যমে ফরোয়ার্ড করছে। এটি সিরিয়ালপোর্ট, হ্যান্ডলিং কোডটিতে কেবলমাত্র সামান্য পরিবর্তন প্রয়োজন সেরিয়ালপোর্ট, টিসিপিপ্লাইটার, টিসিপিসিলেট এবং সকেট। নেট ক্লাস ব্যবহার করে। আমি ডেবিয়ান নরম ফ্লোট ওএস ব্যবহার করছি।

পারফরম্যান্সের ক্ষেত্রে, প্রথমটি আমি যেটি এসেছি তা হ'ল কিছু ডিবাগিং / ট্রেস কোড যা কিছু লগিংয়ের উদ্দেশ্যে স্ট্রিংয়ে বাইটের অ্যারে ফর্ম্যাট করে। এটি পিসিতে চলার তুলনায় 50x ধীর ছিল।

সুতরাং আমি আরপিআইতে বিদ্যমান কোডটি বন্দর করার সময় কিছু পারফরম্যান্স ইউনিট পরীক্ষা লেখার পরামর্শ দেব।

ইউনিট পরীক্ষার জন্য, নুনিট আরপিআইতে দুর্দান্ত কাজ করে ...

নুনিট ইনস্টল করতে:

sudo apt-get install nunit

চালানোর জন্য:

nunit-console appUnderTest.exe

1
গতি একটি আপেক্ষিক জিনিস। তবে ১০০০ মেগাহার্টজ (মডেল ২) এ চলমান একটি রাস্পবেরি পিআই পেন্টিয়াম 300 মেগাহার্জের মতো প্রায় সম্পাদন করে, যাতে এটি ব্যাখ্যা করতে পারে কেন নেট / মনো শুরু করার চেয়ে ধীর মনে করে।
বার্গগ্রিনডি কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.