কমান্ড-লাইন থেকে আমি কীভাবে একটি ভিজ্যুয়াল স্টুডিও প্রকল্প সংকলন করব?


112

আমি চেকআউট, বিল্ড, বিতরণ, পরীক্ষা scripting করছি, এবং একটি বৃহৎ সি ++ সমাধান ব্যবহার করছে জন্য সাইকেল কমিট Monotone , CMake , ভিসুয়াল স্টুডিও এক্সপ্রেস 2008, এবং কাস্টম পরীক্ষা।

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

স্ক্রিপ্টটি পাইথনে লেখা আছে, তবে এমন একটি উত্তর যা আমাকে কেবল একটি কল করতে পারে: ওএস.সিস্টেম তা করবে।

উত্তর:


116

আমি এটি করার দুটি উপায় জানি।

পদ্ধতি 1
প্রথম পদ্ধতিটি (যা আমি পছন্দ করি) তা হ'ল এমএসবিল্ড ব্যবহার করা :

msbuild project.sln /Flags...

পদ্ধতি 2
আপনি চালাতে পারেন:

vcexpress project.sln /build /Flags...

Vcexpress বিকল্পটি অবিলম্বে ফিরে আসে এবং কোনও আউটপুট মুদ্রণ করে না। আমি মনে করি এটি সম্ভবত আপনি কোনও স্ক্রিপ্টের জন্য চান।

দ্রষ্টব্য যে ডিভেনভ ভিজ্যুয়াল স্টুডিও এক্সপ্রেস ২০০৮-এর সাথে বিতরণ করা হয়নি (আমি যখন প্রথম একই ধরণের সমস্যা পেয়েছিলাম তখন এটি বের করার চেষ্টা করার জন্য আমি অনেক সময় ব্যয় করেছি)।

সুতরাং, শেষ ফলাফল হতে পারে:

os.system("msbuild project.sln /p:Configuration=Debug")

আপনার পরিবেশের ভেরিয়েবলগুলি সঠিক কিনা তাও আপনি নিশ্চিত করতে চাইবেন, কারণ এমএসবিল্ড এবং ভেসিপ্রেস সিস্টেমের পথে ডিফল্টরূপে নয়। হয় ভিজ্যুয়াল স্টুডিও বিল্ড এনভায়রনমেন্ট শুরু করুন এবং সেখান থেকে আপনার স্ক্রিপ্টটি চালান, বা পাইথনের পাথগুলিকে সংশোধন করুন ( os.putenv সহ )।


এটি ভিজ্যুয়াল স্টুডিও 2010 এক্সপ্রেসের ক্ষেত্রেও প্রযোজ্য।
স্যামুয়েল হারমার

মিসবিল্ড ভিএস ২০০৮
লাকি লুক

46

এমএসবিল্ড সাধারণত কাজ করে তবে আমি এর আগেও সমস্যার মধ্যে পড়েছি। আপনার ভাগ্য ভাল হতে পারে

devenv YourSolution.sln /Build 

এমএস বিল্ড ভিজ্যুয়াল ফোর্টরান প্রকল্পগুলির (* .vfproc) সাথে কাজ করে না। আমাকে দেবেনভের দিকে নির্দেশ করার জন্য ধন্যবাদ, যা তা করে।
মাইক বেকম্যান অ্যাক্ট

আমি ব্যবহার করতে হচ্ছে: দেভেনভ ইওর সলিউশন.স্লেন / বিল্ড কিন্তু দুর্দান্ত ধন্যবাদ কাজ করেছে।
বোবওয়াহ

7
আপনি devenv YourSolution.sln /Build Debug
কনফিগারটিও

দুর্দান্ত কাজ করে। নীচের কমান্ডটি ব্যবহার করেও কেউ পুনর্নির্মাণ করতে পারেনdevenv YourSolution.sln /rebuild
অভিনিত

1
এছাড়াও কেউ কেবলমাত্র একটি স্থানের পরে ডিবাগ যুক্ত করতে বা রিলিজ করে রিলিজ বা ডিবাগ মোডের জন্য পুনর্নির্মাণ করতে পারে। যেমন: devenv YourSolution.sln /rebuild releaseবাdevenv YourSolution.sln /rebuild debug
অভিনিত

20

সত্যি কথা বলতে আমাকে আমার 2 সেন্ট যুক্ত করতে হবে।

আপনি এটি msbuild.exe দিয়ে করতে পারেন । এমএসবিল্ড.এক্সির অনেক সংস্করণ রয়েছে ।

সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক 64 \ v2.0.50727 \ এমএসবিল্ড.এক্সসি সি: \ উইন্ডোজ \ মাইক্রোসফট.নেট \ ফ্রেমওয়ার্ক 64 3 v3.5 \ এমএসবিল্ড.এক্সসি সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক 64 \ v4.0.30319 bu msbuild.exe
সি: \ উইন্ডোজ \ Microsoft.NET \ ফ্রেমওয়ার্ক \ v2.0.50727 \ msbuild.exe সি: \ উইন্ডোজ \ মাইক্রোসফ্ট। নেট \ ফ্রেমওয়ার্ক \ v3.5 \ এমএসবিল্ড.এক্সসি সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক \ v4.0.30319 \ msbuild.exe

আপনার প্রয়োজনীয় সংস্করণটি ব্যবহার করুন। মূলত আপনাকে শেষটি ব্যবহার করতে হবে।

সি: \ উইন্ডোজ \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe

সুতরাং এটি কিভাবে করবেন।

  1. COMMAND উইন্ডোটি চালান

  2. এমএসবিল্ড.এক্সির পথে ইনপুট দিন

সি: \ উইন্ডোজ \ Microsoft.NET \ Framework64 \ v4.0.30319 \ msbuild.exe

  1. প্রকল্প সমাধানের পথে ইনপুট করুন

"সি: \ ব্যবহারকারীগণ lar ক্লার্ক.কেন্ট \ নথিগুলি \ ভিজ্যুয়াল স্টুডিও 2012 \ প্রকল্পসমূহ \

  1. সমাধানের পথের পরে আপনার প্রয়োজনীয় কোনও পতাকা যুক্ত করুন।

  2. প্রেস ENTER

দ্রষ্টব্য আপনি যেমন সম্ভাব্য সমস্ত পতাকা সম্পর্কে সহায়তা পেতে পারেন

সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক 64 \ v4.0.30319 bu এমএসবিল্ড.এক্সই / সহায়তা


6
আমি সত্যিই কিভাবে আপনি msbuild ইত্যাদি যেখানে এটি মত নতুন ডেভেলপারদের জন্য বিবরণ যোগ করেছেন মত
Ayushmati

8

msbuildঅন্যদের দ্বারা নির্দেশিত হিসাবে ব্যবহার করা আমার পক্ষে কাজ করেছিল তবে আমি কেবল এটির চেয়ে আরও কিছু করা দরকার। প্রথমত, msbuildসংকলকটিতে অ্যাক্সেস থাকা দরকার। এটি চালানোর মাধ্যমে করা যেতে পারে:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"

তারপরে msbuildআমার AT PATH তে ছিল না তাই আমাকে এটির সুস্পষ্ট পথ দিয়ে চালাতে হয়েছিল:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" myproj.sln

সবশেষে, আমার প্রকল্পটি কিছু ভেরিয়েবলের মতো ব্যবহার করছিল $(VisualStudioDir)। দেখে মনে হচ্ছে এটিগুলি সেট হয়ে msbuildযায় না তাই /propertyবিকল্পগুলির মাধ্যমে আমাকে সেগুলি ম্যানুয়ালি সেট করতে হয়েছিল :

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" /property:VisualStudioDir="C:\Users\Administrator\Documents\Visual Studio 2013" myproj.sln

তারপরে লাইনটি শেষ পর্যন্ত আমাকে আমার প্রকল্পটি সংকলনের অনুমতি দেয়।

বোনাস : দেখে মনে হচ্ছে কমান্ড লাইন সরঞ্জামগুলিকে "ফ্রি" জিইউআই-ভিত্তিক ভিজ্যুয়াল স্টুডিও সম্প্রদায়ের সংস্করণের মতো 30 দিনের পরে তাদের ব্যবহারের প্রয়োজন নেই। মাইক্রোসফ্ট নিবন্ধকরণের প্রয়োজনীয়তার সাথে, সেই সংস্করণটি খুব কমই বিনামূল্যে। ফ্রি-ইন-ইন ফেসবুক যদি কিছু থাকে ...


4

এমএসবিল্ড আপনার বন্ধু।

msbuild "C:\path to solution\project.sln"

1
আমি দেখেছি যে এমএসবিল্ড এবং ডিভেনভ প্রক্রিয়া .sln ফাইলগুলি কীভাবে পার্থক্যজনিত কারণে অদ্ভুত পরিস্থিতিতে ব্যর্থ হয়েছে।
জেফ্রি হ্যান্টিন

3

ডিভেনভ অনেক ক্ষেত্রে ভাল কাজ করে, তবে আমার উইক্স ইনস্টলারটি তৈরি করতে একটি উইকসপ্রোজে, আমি যা পেয়েছিলাম তা আউট লগের "ক্যাটাস্ট্রোফিক" ত্রুটি।

এটি কাজ করে: এমএসবিল্ড / পাথ / প্রজেক্ট.ডব্লিক্সপ্রোজ / টি: বিল্ড / পি: কনফিগারেশন = প্রকাশ

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