কমান্ড প্রম্পটে একটি সি # উত্স ফাইল সংকলন / সম্পাদন করা


উত্তর:


140

CSC.exe .NET ফ্রেমওয়ার্ক অন্তর্ভুক্ত CSharp সংকলক এবং কমান্ড প্রম্পট থেকে সংকলন করতে ব্যবহার করা যেতে পারে। আউটপুট কার্যকর ".exe" হতে পারে, যদি আপনি "/ টার্গেট: উদাহরণ" ব্যবহার করেন বা একটি ডিএলএল; আপনি যদি / টার্গেট ব্যবহার করেন: গ্রন্থাগার, CSC.exe .NET ফ্রেমওয়ার্ক ডিরেক্টরিতে পাওয়া যায়,

যেমন। নেট 3.5, c:\windows\Microsoft.NET\Framework\v3.5\ ,।

চালানোর জন্য, প্রথমে কমান্ড প্রম্পটটি খুলুন, "শুরু করুন" ক্লিক করুন, তারপরে টাইপ করুন cmd.exe
এরপরে আপনাকে সেই ডিরেক্টরিতে সিডি করতে হবে যা আপনার উত্স ফাইলগুলি ধারণ করে।

সি # সংকলক এর মতো চালান:

  c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe 
            /t:exe /out:MyApplication.exe MyApplication.cs  ...

(সব এক লাইনে)

আপনার যদি সংস্থার জন্য একাধিক উত্স মডিউল থাকে তবে আপনি এটি একই কমান্ড লাইনে রাখতে পারেন। আপনার যদি রেফারেন্সের জন্য অন্যান্য অ্যাসেম্বলি থাকে তবে ব্যবহার করুন /r:AssemblyName.dll

"এন্ট্রি পয়েন্ট" হিসাবে কাজ করার জন্য আপনার ক্লাসের যে কোনও একটিতে সংজ্ঞায়িত একটি স্থিতিশীল প্রধান () পদ্ধতি রয়েছে তা নিশ্চিত করুন।

ফলে EXE এর টাইপ চালানোর জন্য MyApplication, দ্বারা অনুসরণ <ENTER>কম্যান্ড প্রম্প্ট ব্যবহার করে।

এই নিবন্ধটিএমএসডিএন-এর কমান্ড-লাইন সংকলকটির বিকল্পগুলির আরও বিশদে চলেছে। আপনি রিসোর্স এম্বেড করতে পারেন, আইকন সেট করতে পারেন, সমাবেশগুলি সাইন করতে পারেন - ভিজ্যুয়াল স্টুডিওতে আপনি যা করতে পারেন সবকিছু।

আপনার যদি ভিজ্যুয়াল স্টুডিও ইনস্টল থাকে তবে "স্টার্ট মেনুতে"; ভিজ্যুয়াল স্টুডিও সরঞ্জামগুলির অধীনে, আপনি একটি "ভিজ্যুয়াল স্টুডিও কমান্ড প্রম্পট" খুলতে পারেন, যা কমান্ড লাইন সংকলনের জন্য প্রয়োজনীয় সমস্ত পরিবেশ এবং পাথ ভেরিয়েবল সেট আপ করবে।

যদিও এটি জানার পক্ষে খুব সহজ, আপনি এটিকে কিছু ধরণের বিল্ড টুল যেমন ন্যান্ট , এমএসবিল্ড , ফাইনালবিল্ডার ইত্যাদি জ্ঞানের সাথে একত্রিত করতে হবে এই সরঞ্জামগুলি কেবলমাত্র বেসিক সংকলক নয়, সম্পূর্ণ বিল্ড পরিবেশ সরবরাহ করে।

একটি ম্যাক

একটি ম্যাকের উপর সিনট্যাক্সটিও একই রকম, কেবল সি শার্প কম্পাইলারের সবেমাত্র নাম দেওয়া হয়েছে csc:

$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...

তারপরে এটি চালানোর জন্য:

$ mono MyApplication.exe

1
যদি আমি সঠিকভাবে মনে রাখি তবে আপনি কেবল মেইল ​​পদ্ধতিতে একটি স্ট্যাটিক ক্লাস থাকলে সংকলন করতে পারেন এবং পরীক্ষা করতে পারেন।
সিজেকে

সংকলক এই দিনগুলিতে আপনাকে সতর্ক করে যদি আপনি না থাকেন তবে ভাল পয়েন্টটি আমি উত্তরে এটি যুক্ত করব, ধন্যবাদ।
অ্যাশ

5
এটা সত্যিই দারুন. একটি ক্ষুদ্র সি # অ্যাপ সংকলন করা দরকার এবং ভিজ্যুয়াল স্টুডিওতে স্পর্শ করতে কোনও আগ্রহ নেই। ধন্যবাদ!
কলিনম

1
উইন 10-তে আমি সেখানে আমার খুঁজে পেয়েছি:C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
ট্র্যাকজাহনসন

17

সি # প্রোগ্রামগুলি সংকলনের আরেকটি উপায় (ভিজ্যুয়াল স্টুডিও ব্যবহার না করে বা এটি ইনস্টল না করে) হ'ল পরিবেশের ভেরিয়েবলগুলিতে একটি ব্যবহারকারী ভেরিয়েবল তৈরি করা, যথা "PATH"।

এই চলকটিতে নিম্নলিখিত পথটি অনুলিপি করুন:

"সি: \ উইন্ডোজ \ Microsoft.NET \ ফ্রেমওয়ার্ক \ v4.0.30319"

বা উপর নির্ভর করে। আপনার পিসি নেট।

সুতরাং প্রতিবার আপনি একটি কোড সংকলন করার সময় আপনাকে পুরো পাথটি উল্লেখ করতে হবে না। সহজভাবে ব্যবহার

"সি: \ ব্যবহারকারীগণ \ ব্যবহারকারীর নাম \ ডেস্কটপ> সিএসসি [বিকল্পসমূহ] ফাইলের নাম। সি"

বা যেখানেই আপনার কোডের পথ রয়েছে।

এখন আপনি যেতে ভাল।


15

আপনি একটি সি # প্রোগ্রাম সংকলন করতে পারেন:

সি:> সিএসসি হ্যালো.সি

আপনি প্রোগ্রাম চালাতে পারেন

সি:> হ্যালো


1
আমি যদি অতিরিক্ত লাইব্রেরি ব্যবহার করি? আমি ত্রুটিগুলি পাচ্ছি যে সমাবেশগুলি পাওয়া যায় না ... এটি কিভাবে ঠিক করবেন?
নিকাস ইলিয়াস 13

আপনাকে প্রথমে নিশ্চিত করতে হবে যে সংকলকটির পথটি পরিবেশের ভেরিয়েবলগুলিতে রয়েছে।
ডেম ল্যাংডোহ

@ NikasŽalias। যেমন সিএসসি হ্যালো.সি.-রূপান্তর: সর্বশেষ-রেফারেন্স: System.Net.Http.dll
অ্যালেক্স নোলাস্কো

8

সর্বশেষতম সংস্করণের জন্য, প্রথমে পাওয়ারশেল উইন্ডোটি খুলুন, যে কোনও ফোল্ডারে যান (যেমন c:\projects\) এবং নিম্নলিখিতটি চালান

# Get nuget.exe command line
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

# Download the C# Roslyn compiler (just a few megs, no need to 'install')
.\nuget.exe install Microsoft.Net.Compilers

# Compiler, meet code
.\Microsoft.Net.Compilers.1.3.2\tools\csc.exe .\HelloWorld.cs

# Run it
.\HelloWorld.exe    

একটি উদাহরণ হ্যালো ওয়ার্ল্ড। সি

using System;

public class HelloWorld {
    public static void Main() 
    {
        Console.WriteLine("Hello world!");
    }
}

আপনি নতুন সি # দোভাষী ব্যবহার করতে পারেন;)

.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!

7

কমান্ড লাইনে কীভাবে তৈরি করা যায় তা নিশ্চিতভাবে জানা ভাল জিনিস, তবে বেশিরভাগ কাজের জন্য আইডিই ব্যবহার করা আরও সহজ হতে পারে। সি # এক্সপ্রেস সংস্করণটি বিনামূল্যে এবং অর্থের জন্য খুব ভাল ;-p

বিকল্পভাবে, স্নিপির মতো জিনিসগুলি সি # কোডের টুকরো চালানোর জন্য ব্যবহার করা যেতে পারে।

পরিশেষে - লক্ষ্য করুন যে কমান্ড লাইনটি প্রয়োগের জন্য নির্দিষ্ট; এমএসের পক্ষে এটি csc; মনো এর জন্য , এটিgmcs এবং বন্ধুদের .... একইভাবে, কার্যকর করা: এটি এমএস সংস্করণের জন্য কেবল "এক্সেনাম", তবে সাধারণত মনোর জন্য "মনো এক্সনেম"।

অবশেষে, অনেকগুলি প্রকল্প বিল্ড স্ক্রিপ্ট সরঞ্জামগুলি সহ নির্মিত হয়; এমএস বিল্ড , ন্যান্ট , ইত্যাদি


3
আমি আইডিই ব্যবহার করি তবে আমার জানা দরকার ছিল। এটা না জেনে ঠিক মনে হচ্ছে না! আপনার প্রতিক্রিয়া জন্য অনেক ধন্যবাদ।
ড্রাগনবার্ন

1
ন্যান্টের জন্য +1! কোড টুকরোগুলি নিয়ে পরীক্ষার জন্য লিনিকপ্যাড খুব ভাল: linqpad.net
ট্রুয়েল উইল

6

এখানে স্ট্যান্ড্যালোন সি # 7.0 সংকলক যা এমএসবি বিল্ডটি ইনস্টল করবেন তা সর্বশেষতম। নেট ফ্রেমওয়ার্ক 4.7:

ভিজ্যুয়াল স্টুডিও ছাড়াই কি সি # সংকলক ইনস্টল করা সম্ভব?

তারপরেই দৌড়াও

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe" MyApplication.cs

এক্সিকিউটেবলের জন্য একক উত্স ফাইলটি সংকলন করতে।

আরও নোট করুন। নেট কোর পূর্বনির্ধারিত প্রকল্প ছাড়াই একক উত্স ফাইল সংকলন সমর্থন করে না


5

লিনকপ্যাড কিছু সি # কোড পরীক্ষা করার একটি দ্রুত উপায় এবং এটি বিনামূল্যে।


2

আপনি আপনার ক্লাসের ফাইলগুলি ভিএস কমান্ড প্রম্পটের মধ্যে তৈরি করতে পারেন (যাতে সমস্ত প্রয়োজনীয় পরিবেশের ভেরিয়েবলগুলি বোঝা যায়), ডিফল্ট উইন্ডোজ কমান্ড উইন্ডো নয়।

Csc.exe (সংকলক) সহ কমান্ড লাইন বিল্ডিং সম্পর্কে আরও জানতে, এই নিবন্ধটি দেখুন


2

আপনি যদি ভিজ্যুয়াল স্টুডিও ইনস্টল করেন তবে আপনার কাছে ভিএস এর জন্য বিকাশকারী কমান্ড প্রম্পট রয়েছে have আপনি cscকমান্ডটি ব্যবহার করে সহজেই আপনার প্রোগ্রামটি তৈরি করতে পারেন এবং বিকাশকারী কমান্ড প্রম্পটের ভিতরে থাকা অ্যাপ্লিকেশনটির নামের সাথে আপনার অ্যাপ্লিকেশনটি চালাতে পারেন।

আপনি নীচের মত বিকাশকারী কমান্ড প্রম্পট খুলতে পারেন।

শুরু => ভিএস এর জন্য বিকাশকারী কমান্ড প্রম্পট

আশাকরি এটা সাহায্য করবে!



1

একবার আপনি সি # কোড লিখে সেটি সংরক্ষণ করুন। আপনি অন্যান্য কোডের মতো এটি কার্যকর করতে কমান্ড প্রম্পটটি ব্যবহার করতে পারেন।

কমান্ড প্রম্পটে আপনার ফাইলটি যে ডিরেক্টরিতে রয়েছে তা লিখুন এবং টাইপ করুন

সংকলন করতে:

mcs yourfilename.cs

চালানো:

mono yourfilename.exe 

আপনি যদি নিজের .exe ফাইলটি আলাদা নামের সাথে আলাদা করতে চান তবে টাইপ করুন

সংকলন করতে:

mcs yourfilename.cs -out:anyname.exe 

চালানো:

mono anyname.exe 

এই সাহায্য করা উচিত!


1

উইন্ডোজ সিস্টেমগুলিতে, csc <filname>.csবর্তমান ডিরেক্টরিটি মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিওতে থাকা অবস্থায় কমান্ড প্রম্পটে কমান্ডটি ব্যবহার করুন \ <ইয়ার >> \ <সংস্করণ>

দুটি উপায় আছে:

কমান্ড প্রম্পট ব্যবহার করে:

  1. শুরু -> কমান্ড প্রম্পট
  2. কমান্ডটি ব্যবহার করে ডিরেক্টরিটি ভিজ্যুয়াল স্টুডিও ফোল্ডারে পরিবর্তন করুন: সিডি সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ <সংস্করণ>
  3. কমান্ডটি ব্যবহার করুন: csc /.cs

বিকাশকারী কমান্ড প্রম্পট ব্যবহার:

  1. শুরু করুন -> ভিএস 2017 এর জন্য বিকাশকারী কমান্ড প্রম্পট (এখানে ডিরেক্টরিটি ইতিমধ্যে ভিজ্যুয়াল স্টুডিও ফোল্ডারে সেট করা আছে)

  2. কমান্ডটি ব্যবহার করুন: csc /.cs

আশা করি এটা সাহায্য করবে!


0

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn

এখানেই আপনি সি # 7 সমর্থনকারী সি # সংকলকটি খুঁজে পেতে পারেন অন্যথায় এটি। নেট 4 সংকলক ব্যবহার করবে যা কেবল সি # 5 সমর্থন করে



0

আমি একটি ব্যাচ ফাইল লিখেছি CompileCS.cmdযা একটি সি # ফাইল সংকলন করতে (এবং optionচ্ছিকভাবে চালানো) মঞ্জুরি দেয়, আপনি এখানে ব্যাচ প্রোগ্রাম 'কমপাইলসিএস' সহ পুরো উত্তরটি পেতে পারেন ।

এর ব্যবহার সহজ:

CompileCS /run GetDotNetVersion.cs[arg1] ... [arg9]

GetDotNetVersion.cs সংকলন এবং পরিচালনা করবে - আপনি যদি কেবল এটি সংকলন করতে চান তবে /runপ্যারামিটারটি বাদ দিন ।

কনসোল অ্যাপ্লিকেশন এই উত্তরGetDotNetVersion.cs থেকে নেওয়া হয়েছে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.