इस बिंदु पर के रूप में, कई समाधान के निर्माण के लिए MSBuild कार्य में कोई सीधा समर्थन नहीं है
msbuild :selected_test_projects do |msb, args|
@teststorun.each do |project|
msb.path_to_command = @net40Path
msb.properties :configuration => :Release,
msb.targets [ :Test]
msb.solution = project
msb.build
end
end
मैं नहीं बल्कि कुछ क्लीनर करना चाहते हैं: मुझे क्या करना है यह है। यद्यपि कुछ विकल्प उपलब्ध हैं। यह अधिकतर सिंटैक्स के नीचे आता है जो आपको ऐसा करने के लिए सबसे अच्छा लगता है, लेकिन उनमें से सभी को किसी प्रकार का लूप शामिल है।
वैसे: albacore v0.2.2 बस कुछ दिन पहले रिलीज़ हुआ था। यह .NET 4 पर डिफ़ॉल्ट होता है, और .path_to_command को कम करता है .command। चूंकि यह डिफ़ॉल्ट है, हालांकि, आपको उपयोग करने के लिए .command निर्दिष्ट करने की आवश्यकता नहीं है। मैं यहां उदाहरण के लिए इस वाक्यविन्यास का उपयोग करूंगा। आप प्रत्येक समाधान के लिए एक सरणी और कॉल MSBuild में समाधान की सूची को http://albacorebuild.net
विकल्प # अतिरिक्त रिलीज नोट्स पढ़ सकते हैं 1
लोड। यह जोड़ देगा: msbuild के कई उदाहरणों के साथ कार्य का निर्माण करें और जब आप कॉल करें: कार्य बनाएं, उन सभी को बनाया जाएगा।
solutions = ["something.sln", "another.sln", "etc"]
solutions.each do |solution|
#loops through each of your solutions and adds on to the :build task
msbuild :build do |msb, args|
msb.properties :configuration => :Release,
msb.targets [:Test]
msb.solution = solution
end
end
rake build
बुला या किसी अन्य कार्य के लिए अपने समाधान के सभी निर्माण करेगा में एक निर्भरता के रूप में :build
को निर्दिष्ट।
विकल्प # 2
विकल्प 2 मूलतः एक ही है मैं सिर्फ क्या पता चला है ... सिवाय आप MSBuild
वर्ग सीधे msbuild
कार्य के बजाय कॉल कर सकते हैं
msb = MSBuild.new
msb.solution = ...
msb.properties ...
#other settings...
इस आइए आपके द्वारा बनाए गए एक काम जो भी आप चाहते हैं, और फिर आप जहां भी चाहें अपना लूप कर सकते हैं। उदाहरण के लिए:
task :build_all_solutions do
solutions = FileList["solutions/**/*.sln"]
solutions.each do |solution|
build_solution solution
end
end
def build_solution(solution)
msb = MSBuild.new
msb.properties :configuration => :Release,
msb.targets [:Test]
msb.solution = solution
msb.execute # note: ".execute" replaces ".build" in v0.2.x of albacore
end
अब, जब आप rake build_all_solutions
आपको कॉल या किसी अन्य कार्य पर एक निर्भरता के रूप में :build_all_solutions
जोड़ने के लिए, अपने समाधान के सभी निर्माण किया जाएगा।
...
वहाँ शायद एक दर्जन से अधिक रूपांतरों को किया जा सकता है मैं यहाँ क्या दिखाया है के आधार पर कर रहे हैं। हालांकि, वे महत्वपूर्ण रूप से भिन्न नहीं होते हैं - सभी समाधानों को खोजने के लिए कुछ अलग-अलग तरीके, या उनके माध्यम से लूप।