এমএসবাইল্ড চালনা এসডিকেটুলসপথটি পড়তে ব্যর্থ


130

কীভাবে, আমার ভি নেটওয়ার্ড স্ক্রিপ্ট পরিচালিত বেশ কিছু সমস্যা হচ্ছে যা আমার। নেট 2.0 ভিত্তিক ওয়েবসাইটটি সঠিকভাবে তৈরি করতে ব্যবহৃত হয়েছিল, যখন ভিএস ২০০৮ এবং এর সাথে সম্পর্কিত সরঞ্জামগুলি সংকলন করার সময়। আমি সম্প্রতি সমস্ত প্রকল্প / সমাধান ফাইলগুলি ভিএস 2010 এ আপগ্রেড করেছি এবং এখন আমার বিল্ডটি নিম্নলিখিত ত্রুটিটি দিয়ে ব্যর্থ হয়েছে:

[এক্সিকিউটিভ] সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক \ v4.0.30319 \ মাইক্রোসফট.কমন.টারজেটস (2249,9): ত্রুটি এমএসবি 3086: টাস্ক "ডেনটুলসপথ" "বা রেজিস্ট্রি ব্যবহার করে" sgen.exe "খুঁজে পেল না কী "HKEY_LOCAL_MACHINE OF সফটওয়্যার \ মাইক্রোসফ্ট \ মাইক্রোসফ্ট SDKs \ উইন্ডোজ \ v7.0A"। নিশ্চিত হয়ে নিন যে এসডকেটুলসপথ সেট করা আছে এবং সরঞ্জামটি প্রসেসরের নির্দিষ্ট স্থানে এসডকেটুলসপথের অধীনে এবং মাইক্রোসফ্ট উইন্ডোজ এসডিকে ইনস্টলড রয়েছে exists

এখন, আমার কাছে বিল্ড সার্ভারে উইন্ডোজ এসডিকে ইনস্টল করা পূর্ববর্তী সংস্করণ (। নেট 3.5) রয়েছে এবং পূর্ণ। নেট 4.0 ফ্রেমওয়ার্ক ইনস্টল করা আছে, তবে আমি উইন্ডোজ এসডিকে একটি নেট নেট 4.0.০ নির্দিষ্ট সংস্করণ জুড়ে চলেছি না।

কিছুটা পরীক্ষা-নিরীক্ষা ও গবেষণার পরে অবশেষে আমি কেবলমাত্র একটি নতুন পরিবেশগত পরিবর্তনশীল "এসডিকেটুলসপথ" সেটআপ করেছি এবং এটি আমার উইন্ডোজ 6.0 এসডিডি ফোল্ডারে sgen.exe এর অনুলিপিটিতে নির্দেশ করেছি pointed এটি একই ত্রুটিটি উত্পন্ন করেছিল, তবে এটি আমাকে লক্ষ্য করে দেখতে পেল যে এসডিকেটুলসপথ পরিবেশগত পরিবর্তনশীল আইএস সেট (নিশ্চিত হয়ে গেছে যে আমি কমান্ড লাইনে এটি "প্রতিধ্বনি করতে" পারি এবং এটির প্রত্যাশিত মান রয়েছে) ত্রুটি বার্তাটি ইঙ্গিত দেয় বলে মনে হয় এটি এটি পড়া হচ্ছে না (খালি উদ্ধৃতিগুলি নোট করুন)।

আমি বেশিরভাগ তথ্য পেয়েছি of .Net 3.5 (বা তার আগে) নির্দিষ্ট। এখনও খুব বেশি 4.0 সম্পর্কিত নয়। এমএসবি 3086 ত্রুটি কোডটি অনুসন্ধান করা কোনওরূপেই কার্যকর কিছু উত্পন্ন নয়। এই কি হতে পারে কোন ধারণা?

স্কট


এই পোস্টে সম্পর্কিত সমস্যা। আমি সেখানে একটি উত্তর পোস্ট। stackoverflow.com/questions/1109955/…
দিয়েগো সি

উত্তর:


15

এই সমস্যাটি সমাধানের জন্য আমাকে বুলেটটি কামড়তে হয়েছিল এবং আমাদের বিল্ড সার্ভারে ভিএস 2010 ইনস্টল করতে হয়েছিল। আমি যতদূর দেখতে পাচ্ছি, উইন্ডোজ এসডিকে 7.0A সংস্করণ এমএসডিএন-এ কোথাও উপলব্ধ নেই। যাইহোক, ভিএস 2010 ইনস্টল করা এটি ইনস্টল হতে দেখা যায়, প্রোগ্রাম ফাইলস \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজে 7.0A রেজি এবং একটি 7.0A ফোল্ডার তৈরি করে।


9
আমি কোনও সার্ভারে ভিজ্যুয়াল স্টুডিও 2010 ইনস্টল না করা পছন্দ করি। আমি বর্তমান উইন্ডোজ এসডিকে ভি 7.1 তে সেট করার নীচে সিম্মোর পরামর্শটি পছন্দ করি। WindowsSdkVer.exe সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ 7 v7.1 \ সেটআপ (এটি সি: \ প্রোগ্রাম ফাইলগুলিতে ইনস্টল করা হয়েছে বলে ধরে নেওয়া) অবস্থিত।
ফিলিপ

55
আমি খুঁজে পেয়েছি যে আপনি যদি কেবল উইন্ডোজ এসডিকে 7.1 এবং .NET 4.0 ইনস্টল করেন। এমএসবিল্ড SDK40ToolsPath এবং SDK35ToolsPath এ সঠিক পাথ সেট করে না। এটি ঠিক করতে, আমাকে HKEY_LOCAL_MACHINE OF সফটওয়্যার \ মাইক্রোসফ্ট \ এমএসবিল্ড \ সরঞ্জামস সংস্করণ \ 4.0: "SDK40ToolsPath" = "$ (রেজিস্ট্রি: HKEY_LOCAL_MACHINE OF মাইক্রোসফ্ট \\ মাইক্রোসফ্ট \\ Windows 7 .1 \\ WinSDK-NetFx40Tools-x86 @ ইনস্টলেশনFolder) "একইভাবে SDK35ToolsPath এবং ফ্রেমওয়ার্ক এসডি কে রুটে" v7.0A "কে" v7.1 "এ পরিবর্তন করুন।
ব্লুমোনকএমএন

7
শীশ - আমি আবার নিজেই একই সমস্যায় পড়েছি, এর জন্য গুগল করেছিলাম এবং আমার নিজের উত্তর খুঁজে পেয়েছি! :) মনে হচ্ছে কিছু আমার পরিবর্তনটিকে পুনরায় সেট করেছে এবং আমার ধারণা আমি আবার এটি ম্যানুয়ালি প্রয়োগ করতে পারি।
ব্লুমোনকএমএন

3
ARRRGH! সর্বশেষতম .NET 4.0 প্যাচগুলি (2011-08-11) এই রেজিস্ট্রি সেটিংস ওভাররোট করে!
si618

8
আমার আগের প্রতিক্রিয়া আপডেট করুন। এটি প্রদর্শিত হয় যে 64৪-বিট ওএসে, HKEY_LOCAL_MACHINE OF সফটওয়্যার ow WOW6432 নোড \ মাইক্রোসফ্ট \ এমএস বিল্ড \ সরঞ্জামস সংস্করণ \ 4.0 এ অনুরূপ মানগুলি আপডেট করার প্রয়োজন হতে পারে এবং এটি 8.0 এসডিকে ইনস্টল করা বা HKEY_LOCAL_MACHINE- এ মানগুলি আপডেট করার প্রয়োজন হতে পারে সফটওয়্যার \ মাইক্রোসফ্ট \ এমএসবিল্ড \ সরঞ্জামস সংস্করণ \.০ \ ১১.০ এবং HKEY_LOCAL_MACHINE OF সফটওয়্যার \ Wow6432 নোড \ মাইক্রোসফ্ট \ এমএসবাইল্ড \ সরঞ্জামস সংস্করণ \ 4.0 \ 11.0 আমি 8.0 এসডিকে ইনস্টল করা ব্যতীত উপরের সমস্ত কিছুই করেছি, এবং আমি একটি বি কম্পাইল করতে অক্ষম হয়েছি পদক্ষেপ) সমস্ত 4.0 \ 11.0 নোডগুলিতে আমার আপডেটগুলি অন্তর্ভুক্ত করে।
ব্লুমোনকএমএন

227

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

এসডিকে ভি .0.০ এ হ'ল ভিজুয়াল স্টুডিও ২০১০ (এটি একটি ভিএস রিলিজ এটি নির্দেশ করে) এর সাথে ইনস্টল করা এসডিকে। তার পর থেকে, একটি নতুন সংস্করণ প্রকাশিত হয়েছে। মাইক্রোসফ্ট উইন্ডোজ এসডিকে উইন্ডোজ 7 এবং .NET ফ্রেমওয়ার্ক এ কেএ ভি 7.1 এর জন্য

আমি এটি আমার বিল্ড সার্ভারে ইনস্টল করেছি। এবং তারপরে উইন্ডোজ এসডিকে 7.1 কমান্ড প্রম্পট (সূচনা => সমস্ত প্রোগ্রাম => মাইক্রোসফ্ট উইন্ডোজ এসডিকে 7.1) এর মাধ্যমে, আমি এসডিকে ডিফল্ট সংস্করণটি 7.1 হিসাবে সেট করেছি।

পদক্ষেপ:

cd Setup

WindowsSdkVer.exe -version:v7.1

লর্ডহিটস'র মন্তব্য অন্তর্ভুক্ত করতে সম্পাদনা করুন: সম্পূর্ণ এসডিকে ইনস্টল করার প্রয়োজন নেই। "" নেট ডেভলপমেন্ট / ইন্টেলিসেন্স অ্যান্ড রেফারেন্স অ্যাসেমব্লিসি "এবং"। নেট বিকাশ / সরঞ্জাম "বিকল্পগুলি ইনস্টল করা যথেষ্ট।


4
এটি আমার জন্য পুরোপুরি কাজ করেছে, ফাইলগুলি জুড়ে সি: \ প্রোগ্রাম ফাইলগুলি \ এমএস বিল্ড \ মাইক্রোসফ্ট \ ভিজ্যুয়ালস্টুডিও \ v10.0 \ আমার ভিএস মেশিন থেকে ওয়েব অ্যাপ্লিকেশনগুলি অনুলিপি করার সাথে মিলিয়ে।
dnolan

1
আমি মূল লেখকের মতো একই সমস্যার মুখোমুখি হয়েছিলাম এবং এই উত্তরটি এটি সমাধান করেছে! আমার বিল্ড মেশিনে আমাকে ভিজ্যুয়াল স্টুডিও 2010 ইনস্টল করতে হবে না।
সমাধান

37
এছাড়াও, কেবল পরিষ্কার করার জন্য, একজনকে পুরো এসডিকে ইনস্টল করার দরকার নেই। "" নেট ডেভলপমেন্ট / ইন্টেলিসেন্স অ্যান্ড রেফারেন্স অ্যাসেমব্লিসি "এবং"। নেট বিকাশ / সরঞ্জাম "বিকল্পগুলি ইনস্টল করা যথেষ্ট। ডোনোলনের মন্তব্য থেকে ফাইলগুলি অনুলিপি করা হচ্ছে।
লর্ডহিটস

এই সমাধানের জন্য ধন্যবাদ, এটি আমাদের বিল্ড সার্ভারে আমার জন্য নিখুঁতভাবে কাজ করেছে! এফওয়াইআই- যে কেউ জিজ্ঞাসাবাদ করতে পারে তার জন্য, বিল্ড সার্ভারটি হ'ল উইন্ডোজ সার্ভার 2008 x64।
অ্যাডাম ওয়েবার

এই উত্তরের জন্য অনেক ধন্যবাদ; এটি একই সাথে কাজ একই সমস্যা মধ্যে দৌড়ে।
আবে

20

আপনার এমএসবিল্ডের কাছে অফ অফ মান সহ জেনারেটসরিয়ালাইজেশন অ্যাসেমব্লিসি পরামিতিগুলি কেবল পাস করুন।

msbuild.exe /p:GenerateSerializationAssemblies=Off

7
msbuild.exe / p: জেনারেটসরিয়ালাইজেশন অ্যাসেমব্লিজ = বন্ধ
ড্যানিয়েল

2
অথবা ওয়েব সার্ভিসের প্রকল্পের বৈশিষ্ট্যগুলির বিল্ড ট্যাবে "জেনারেট করুন সিরিয়ালাইজেশন অ্যাসেম্বলি: অফ" সেট করুন।
সামনারিক

6
এটি ঠিক কী করে?
পিষে

1
গোটা: আপনি যদি এটি বিল্ড ট্যাবে বন্ধ করে দেন তবে নিশ্চিত হন যে আপনি এটি নির্মাণের জন্য প্রয়োজনীয় কনফিগারেশনের জন্য করেছেন (বিল্ড ট্যাবের শীর্ষে ড্রপডাউন) আমার ক্ষেত্রে এটি কেবল ইস্যুটির সাথে বিল্ড সার্ভার ছিল, তাই আমাকে করতে হয়েছিল এটি 'রিলিজ' কনফিগারেশনে পরিবর্তন করুন।
মিস্টার

14
আমি কেবল এলোমেলোভাবে বিল্ড ফ্ল্যাগগুলি পরিবর্তন করতে চাই যা তারা আসলে কি করে না।
অ্যারোনএলএস

14

বিল্ড সার্ভারে আমি ম্যানুয়ালি ভেরিয়েবলগুলি এমএসবিল্ডে পাস করি।

msbuild.exe MyProject.csproj "/p:TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools" "/p:AspnetMergePath=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools"

1
কোনও ভিজ্যুয়াল স্টুডিও এবং বিল্ড টুলস 2019 নয় এমন একটি সার্ভারে আমি এটি একটি উইন্ডোজ 10 এসডিকে করার জন্য শেষ করেছি। অন্য সমাধানগুলির কোনওটিই মনে হয় বলে মনে হয় নি এবং এটি একটি পরিষ্কার পদ্ধতিতে কৌশলটি করেছে did
নিকোলস ফ্যান্টোন

8

আমি সম্প্রতি আমাদের বিল্ড সার্ভারে একই ধরণের সমস্যার মুখোমুখি হয়েছি।

আমি আমার কম্পিউটার থেকে 7.0A ফোল্ডার (সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ \ 7.0 এ) অনুলিপি করে একই স্থানে বিল্ড সার্ভারে রেখেছি।

নিম্নলিখিত রেজিস্ট্রি কী তৈরির পরে: HKEY_LOCAL_MACHINE OF সফটওয়্যার \ মাইক্রোসফ্ট, মাইক্রোসফ্ট SDKs \ উইন্ডোজ 7 v7.0A। সিটিতে ইনস্টলেশনফোল্ডার সেট করুন: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ \ 7.0A।

আপনি যদি বিল্ড সার্ভারে রেজিস্ট্রিটি সম্পর্কে কী করবেন তা সম্পর্কে বিভ্রান্ত হয়ে পড়ে থাকেন তবে আপনার মেশিনে এটি ইতিমধ্যে ইনস্টল করা ভিএস 2010 এর সাথে রেজিস্ট্রিটি উল্লেখ করতে পারেন।


আমার জন্য, সিম্মোর উত্তর কার্যকর হয়নি - এই রেজিস্ট্রি হ্যাক যদিও করেছে (উইন 2 কে 3 এসপি 2)।
FinnNk

7

আমি একই ত্রুটিতে চলে এসেছি কিন্তু অন্যরকম পরিস্থিতিতে: ব্যবহার করছি ভিএস ২০১০ এক্সপ্রেস ব্যবহার করে এবং এসডিকে সংস্করণটি স্পষ্টভাবে সেট করার জন্য সিম্পোর উত্তরটি ব্যবহার করার চেষ্টা করা হয়েছে - তবে উইন্ডোজএসডেকভার.এক্সে (সংস্করণ সেটারের সরঞ্জাম) এক্সপ্রেসকে লক্ষ্যবস্তু করে না বলে মনে হচ্ছে (এটি সীমিত হওয়ার পরে থেকে বোধগম্য) )।

আমি উইন Prof. প্রফেসরের উপর ভিএস ২০১০ এক্সপ্রেস ব্যবহার করছি এবং এটি সর্বদা উইন এসডিকে (যার সমস্ত প্রয়োজনীয় এক্সেস থাকে না) এর v7.0A ব্যবহার করতে চায় এবং আমি কোন সংস্করণটি স্পষ্টভাবে বর্তমান হিসাবে ব্যবহার করে সেট করেছি তা বিবেচ্য নয় WindowsSdkVer.exe (এটি এসডিকে বর্তমান সংস্করণটি সেট করে তবে ভিএস ২০০৮-এর জন্য এটি প্রতিবেদন করে রাখে যদিও আমার কাছে কেবল ২০১০ প্রাক্তন ইনস্টল রয়েছে।)

সুতরাং আমার সস্তা কাজটি ছিল ভি 7.0 উইন এসডিকে (বা ভি 7.1 এর মতো অন্য সংস্করণ) ইনস্টল করা এবং তার ফাইল সিস্টেম ফোল্ডারের নাম পরিবর্তন করে ভি 7.0 এ রাখুন - মূলত আমি কেবল ভিএস 2010 এক্সপ্রেসে মিথ্যা বললাম তবে এটি এখন কাজ করে!


5

আপনার প্রকল্পগুলির মধ্যে একটি ওয়েব পরিষেবা উত্পন্ন করতে sgen.exe (সার্ভার জেনারেটর) ব্যবহার করে। বিল্ড সার্ভার বা প্রকল্প থেকে ওয়েব পরিষেবাদি রেফারেন্সগুলি সরাতে আপনার এসডিকে ইনস্টল করতে হবে।


1
অথবা ওয়েব সার্ভিসের প্রকল্পের বৈশিষ্ট্যগুলির বিল্ড ট্যাবে "জেনারেট করুন সিরিয়ালাইজেশন অ্যাসেম্বলি: অফ" সেট করুন।
সামনারিক

1
গোটা: আপনি যদি এটি বিল্ড ট্যাবে বন্ধ করে দেন তবে নিশ্চিত হন যে আপনি এটি নির্মাণের জন্য প্রয়োজনীয় কনফিগারেশনের জন্য করেছেন (বিল্ড ট্যাবের শীর্ষে ড্রপডাউন) আমার ক্ষেত্রে এটি কেবল ইস্যুটির সাথে বিল্ড সার্ভার ছিল, তাই আমাকে করতে হয়েছিল এটি 'রিলিজ' কনফিগারেশনে পরিবর্তন করুন।
মিস্টার

4

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

মনে রাখবেন যে এই পৃষ্ঠাটি অনুসারে http://ament.sourceforge.net/ ন্যান্ট। নেট 4.0 সমর্থন করে না, এটি কি আসল সমস্যা হতে পারে?

দুঃখিত, আমি জানি এটি সত্যই আপনার প্রশ্নের উত্তর দেয় না :(


সঠিক, ন্যান্ট এখনও ভিএস 2010 এর জন্য প্রকল্প / সমাধান ফাইল ফর্ম্যাটগুলি সমর্থন করে না, এজন্যই আমি প্রকৃত সংকলনের পদক্ষেপের জন্য এমএসবিল্ডকে কল করছি। লক্ষ্যগুলি ফাইলটি পরীক্ষা করে দেখবে।
স্কট মেফিল্ড

4

আমার একই সমস্যাটি একটি নতুন উইন্ডোজ 10 মেশিনে ছিল। আমার সেটআপ:

  • উইন্ডোজ 10
  • ভিজ্যুয়াল স্টুডিও 2015 ইনস্টল করা হয়েছে
  • উইন্ডোজ 10 এসডিকে

কিন্তু আমি নেট নেট প্রকল্পগুলি তৈরি করতে পারিনি:

ডু আউফগাবে কনট "AL.exe" মিট ডেম এসডিকেটুলসপথ-ওয়ার্ট "" ওডার ডেম রেজিস্ট্রিয়ংগস্ল্লসসেল "এইচকেই_লোকাল_ম্যাচাইন \ সফটওয়্যার \ মাইক্রোসফ্ট, মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ \ v8.0A \ WinSDK-নেটএফএক্স 60

সমাধান: উইন্ডোজ SD এসডিকে ইনস্টল করার চেষ্টা করার পরে (এবং ব্যর্থ হওয়ার পরে) (কারণ এটিতে নেট। এসডিকে অন্তর্ভুক্তও রয়েছে) উইন্ডোজ 8 এসডিকে ইনস্টল করার দরকার ছিল এবং "। নেট ফ্রেমওয়ার্ক ৪.৫ এসডিকে" ইনস্টল করা আছে কিনা তা নিশ্চিত করা দরকার।

এটা পাগল ... তবে কাজ করেছে


এটি আমাকে উইন্ডোজ 10 এও হুবহু সহায়তা করেছিল।
বোর্বার্ট

3

আপনার কি আসলে এসডিকে 7.0A সংস্করণ ইনস্টল করা নেই? এটি আপনার সমস্যার সমাধান করতে হবে। কী ভুল হয়েছে তা দেখতে ভিএস 2010 ইনস্টল লগ ফাইলগুলি দেখুন। এসডিকে সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিএস \ উইন্ডোজ \ 7.0 এ উপস্থিত থাকতে হবে এবং তালিকাভুক্ত রেজিস্ট্রি কীটি অবশ্যই উপস্থিত থাকতে হবে। Sgen.exe এর 6.0a সংস্করণ দিয়ে চালানো ঠিক নয়, এটি ভুল সংকলকটি ব্যবহার করতে বাধ্য।


1
মনে রাখবেন, এটি একটি বিল্ড সার্ভার, সুতরাং সম্পূর্ণ ভিএস 2010 পরিবেশ ইনস্টল করা আমার প্রথম পছন্দ ছিল না। আমি উইন্ডোজ এসডিকে 7.0a
স্কট মেফিল্ড

3
সমস্যা দেখছি না। যিনি কনফিগারেশনের কনফিগারেশন করেছেন এমন কোনও মেশিনে বিল্ড চালানো কোনও সমস্যা নয় যা আপনাকে দ্রুত পরিশ্রম করবে a
হ্যানস প্যাস্যান্ট

3

ইনস্টল ডিরেক্টরি ছাড়া অন্য কোনও অবস্থান নির্দিষ্ট করার Sdk40ToolsPathচেয়ে সেট করুন SdkToolsPath

আমি AL.exe এর সাথে একই ধরণের সমস্যায় পড়েছি কারণ আমি এসডিকে ইনস্টল করার পরিবর্তে বিল্ড মেশিনে সরঞ্জামগুলি এক্সপি করে ফেলেছিলাম, তাই সাধারণ রেজিস্ট্রি কীগুলি অনুপস্থিত ছিল। আমি ডায়গনিস্টিক আউটপুট (/ ভার্বোসিটি: ডায়াগোনস্টিক) নিয়ে একটি বিল্ড চালিয়েছি এবং লক্ষ্য করেছি যে এখানে বেশ কয়েকটি এসডিকে সরঞ্জামের পাথ সংজ্ঞায়িত করা হয়েছে: এসডেক 40 টিউলসপথ, এসডিকি 35 টিউলসপথ এবং এসডিকেটুলসপথ। উপযুক্ত SDK সংস্করণের বিন ফোল্ডারটি নির্দেশ করার জন্য Sdk40ToolsPath সেট করা আমার জন্য সমস্যার সমাধান করেছে।


আপনি কোথায় sdk40ToolsPath সেট করেছেন?
মাইকেল ফ্রেইজিম

আমি ধরে নেব যে এটি পরিবেশের পথে যুক্ত করা দরকার। তবে এটি আমার পক্ষে কার্যকর হয়নি work
টিমোথি লি রাসেল

দুঃখিত এটি এত দিন আগে আমি বিশদটি ভুলে গিয়েছিলাম তবে আমি মনে করি এটি হয় পরিবেশের পরিবর্তনশীল বা এমএসবাইল্ড প্রকল্পের ফাইলে সেট। এছাড়াও নোট করুন যে মূল প্রশ্নটি .NET ফ্রেমওয়ার্ক 4.0 / VS2010 সম্পর্কিত, তবে পরবর্তী কাঠামোর সংস্করণগুলির জন্য বিভিন্ন ভেরিয়েবলের প্রয়োজন হতে পারে।
ইয়ানস

2

IanS এর উত্তর সাথে একমত। নতুন এসডিকে ইনস্টল করার দরকার নেই। এমএসবাইলের রেজিস্ট্রি কী মানগুলি SDK35ToolsPath এবং SDK40ToolPath রেজিস্ট্রি কী মানগুলি সঠিক করার জন্য নির্দেশ করছে তা নিশ্চিত করুন।

আমার ক্ষেত্রে আমার প্রকল্পটি .NET 3.5 এর জন্য লক্ষ্যযুক্ত ছিল এবং আমি কী HKEY_LOCAL_MACHINE OF সফ্টওয়্যার \ মাইক্রোসফ্ট \ এমএসবাইল্ড \ সরঞ্জামস সংস্করণ \ 4.0 থেকে $ (রেজিস্ট্রি: HKEY_LOCAL_MACHINE OF মাইক্রোসফ্ট SD মাইক্রোসফ্ট WinSDKNetFxTools @ InstallationFolder)। এবং সবকিছু কাজ করে।


2

আমাদের কাছে উইনএক্সপি বিল্ড পিসি রয়েছে এবং আমাদের সফ্টওয়্যারটি তৈরি করতে ভিজ্যুয়াল বিল্ড প্রো 6 ব্যবহার করুন। যেহেতু আমাদের কিছু বিকাশকারী ভিএস ২০১০ ব্যবহার করে প্রকল্প ফাইলগুলিতে এখন "সরঞ্জাম সংস্করণ ৫.০" উল্লেখ রয়েছে এবং আমি যা বলতে পারি, এটি ভিজ্যুয়াল বিল্ডকে বলে যে এটি কোথাও একটি sdk7.x খুঁজে পাওয়া দরকার, যদিও আমরা কেবল নেট নেট 3.5.৫ এর জন্য তৈরি করি though । এর ফলে এটি lc.exe খুঁজে না পেয়েছিল। আমি VS2008 যা পিসিতে ইনস্টল করা আছে তার সাথে আসা 6.0A এসডিকে সমস্ত ম্যাক্রোগুলি নির্দেশ করে এটি বোকা বানানোর চেষ্টা করেছি, তবে এটি কার্যকর হয়নি।

আমি শেষ পর্যন্ত এটি ডাউনলোড করে এবং এসডিকে 7.1 ইনস্টল করে কাজ করেছি। আমি তারপরে 7.0A এর জন্য একটি রেজিস্ট্রি কী তৈরি করেছি এবং 7.1 এসডিকে ইনস্টল করার পথে ইন্সটল পাথটি নির্দেশ করেছি। এখন এটি আনন্দের সাথে একটি সামঞ্জস্যপূর্ণ "lc.exe" খুঁজে পেয়েছে এবং সমস্ত কোড সূক্ষ্মভাবে সংকলন করে। আমার মনে হচ্ছে আমি এখন .NET 4.0 কোডটি সংকলন করতে সক্ষম হব যদিও ভিএস 2010 ইনস্টল করা হয়নি, তবে আমি এখনও এটি চেষ্টা করি নি।


2

আমার এমএসবিল্ড প্রকল্পে আমার জন্য এটি সরঞ্জামের সংস্করণ = "4.0" করে:

<Project DefaultTargets="Do" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

ঠিক আছে, আমার ক্ষেত্রে আমি ভিএস 2015 এর জন্য সরঞ্জামদর্শন = "14.0" ব্যবহার করেছি এবং এটি সমস্যার সমাধান করেছে
অ্যান্ড্রুসিলভার

2

প্রথমে নিশ্চিত হয়ে নিন যে আপনি ইতিমধ্যে dotNetFx40_Full_x86_x64.exe ডাউনলোড করেছেন এবং ইনস্টল করেছেন (এটি সাধারণত ভিজ্যুয়াল স্টিডিয়োর সাথে আবদ্ধ)।

তারপরে দ্রুত সিস্টেম ভেরিয়েবলগুলিতে একটি নতুন পরিবেশের ভেরিয়েবল সেট করুন। নীচের মত: "TargetFrameworkSDKToolsDirectory":"C:\Program Files (x86)\Microsoft SDKs\Windows\vxx.0A\bin\NETFX 4.6.1 Tools" //note:the path:'\vxx.0A\' is a variable indicating your version. it's '\v10.0A\' for me.


এটি সমস্যার সমাধান করছে। যদি কারও আই এর মতো একই সমস্যা থাকে তবে কেবল একটি ইঙ্গিত The এনভ ভেরিয়েবলকে টার্গেটফ্রেমওয়ার্ক এসডি কেটুলস ডিরেক্টরী বলা প্রয়োজন এবং এসডকেটুলসপথ নয় !!!
মার্কাস

1

আমার এই একই সমস্যা ছিল এবং আমি উইন্ডোজ এসডিকে .0.০ এবং উইন্ডোজ এসডিকে .1.১ ইনস্টল করেছিলাম যা সমস্যার সমাধানও করে নি। আমার জন্য সমস্যার কারণটি ছিল আপত্তিজনক শ্রেণির পাঠাগারটি .NET ফ্রেমওয়ার্ক 2.0 এর টার্গেট ফ্রেমওয়ার্ক দিয়ে তৈরি করা হয়েছিল।

আমি এটিকে .NET ফ্রেমওয়ার্ক 4.0 এ পরিবর্তন করেছি এবং স্থানীয়ভাবে কাজ করেছি এবং বিল্ড সার্ভারে চেক করা হলে এটি সফলভাবে নির্মিত built


1

আমার একটি অনুরূপ সমস্যা ছিল, উল্লেখযোগ্যভাবে এমএসবিল্ড ব্যর্থ: এমএসবি 3086, এমএসবি 3091: "AL.exe", "resgen.exe" পাওয়া যায় নি

একটি 64 বিট উইন্ডোজ 7 মেশিনে, আমি। নেট ফ্রেমওয়ার্ক 4.5.1 এবং উইন্ডোজ 8.1 এর জন্য উইন্ডোজ এসডিকে ইনস্টল করেছি।

যদিও এসডিকে সেটআপগুলি বলেছিল যে এটি আপ টু ডেট ছিল, সম্ভবত এটি ছিল না। আমি এসডিকে সমস্ত ইনস্টল করা সংস্করণ মুছে ফেলা, তারপরে নিম্নলিখিতটি ইনস্টল করে এই ক্রমটি দিয়ে সমস্যার সমাধান করেছি:

http://www.microsoft.com/en-us/download/details.aspx?id=3138

http://www.microsoft.com/en-us/download/details.aspx?id=8279

http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx

http://msdn.microsoft.com/en-us/windows/desktop/aa904949.aspx


1

সংক্ষিপ্ত উত্তর: .csproj ফাইলে, SGenToolPath ব্যবহার করে sgen.exe এর পাথ নির্দিষ্ট করার একটি উপায় রয়েছে:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
  <PropertyGroup>
    <SGenToolPath>C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools</SGenToolPath>
  </PropertyGroup>

আপনার পথটি আলাদা হতে পারে তবে এসজেনটুলপথটি আপনি চান।

অন্যান্য সাধারণ এমএসবিল্ড প্রকল্পের বৈশিষ্ট্যের তালিকার জন্য, দেখুন: https://msdn.microsoft.com/en-us/library/bb629394.aspx

বিল্ড সার্ভারে রেজিস্ট্রি মানগুলি পরিবর্তনের পরিবর্তে আমরা .csproj ফাইলে এই SGenToolPath সেটিংটি ব্যবহার করে শেষ করেছি। আমার স্থানীয় মেশিনে রেজিস্ট্রি মানগুলি সম্পাদনা করাও কাজ করেছিল, তবে কিছুটা জটিল ছিল এবং আমরা বিল্ড সার্ভারে রেজিস্ট্রি নিয়ে গণ্ডগোল করতে চাই না।

রেজিস্ট্রিটির জন্য: সেই ক্ষেত্রে সমস্যাটি ছিল যে এইচকেএলএম \ সফটওয়্যার ow ওয়াও 32৪৩৩ নোড \ মাইক্রোসফ্ট \ এমএসবাইল্ডের অধীনে SDK40ToolsPath (গুলি) একটি রেজিস্ট্রি মান poin (রেজিস্ট্রি: HKEY_LOCAL_MACHINE OF সফ্টওয়্যার \ মাইক্রোসফ্ট উইন্ডোজ .0.0A \ WinSDK-NetFx40Tools-x86 @ ইনস্টলেশনFolder) যা বিদ্যমান ছিল না। আমি কেবল এটি সরাসরি বাস্তব পথের সাথে প্রতিস্থাপন করেছি।


1

আমিও আমার ভয়াবহ গোলযোগযুক্ত কর্মস্থল কম্পিউটারে ভিজ্যুয়াল স্টুডিও 2017 ব্যবহার করে একটি প্লাগইন তৈরি করার চেষ্টা করার সময় এই সমস্যার মুখোমুখি হয়েছি। আপনি যদি "রেজেন.এক্সি খুঁজে পেতে অক্ষম" এর জন্য ইন্টারনেটে অনুসন্ধান করেন তবে আপনি এই সমস্ত পরামর্শ খুঁজে পেতে পারেন যা ' আপনার উইন্ডোজ রেজিস্ট্রি সম্পাদনা করতে রিজেডিট ব্যবহার করুন এবং এখানে একটি নতুন কী তৈরি করুন এবং এই ফোল্ডারের বিষয়বস্তু অনুলিপি করে পেস্ট করুন এই অন্যান্য ফোল্ডার, ব্লা ব্লা ব্লা'

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

শেষ পর্যন্ত, আমি বুঝতে পেরেছিলাম, "আরে, যদি ভিজ্যুয়াল স্টুডিও আরও বিশদ ত্রুটি বার্তা দেয় তবে এর কোনওটিই সমস্যা হবেনা।" সুতরাং, ত্রুটি সম্পর্কে আরও বিশদ পেতে, আমি কমান্ড লাইন থেকে সরাসরি আমার * .csproj ফাইলে এমএসবিল্ড.এক্স.কে চালিত করেছি:

 "C:/Windows/Microsoft.NET/Framework/v4.0.3.0319/MSBuild.exe C:/Users/Todd/Plugin.csproj -fl -flp:logfile="C:/Users/Todd/Desktop/error_log.log";verbosity=diagnostic"

অবশ্যই আপনার অবস্থার সাথে মানিয়ে নেওয়ার জন্য আপনাকে অবশ্যই পাথের বিশদটি পরিবর্তন করতে হবে তবে অবশ্যই 1) এমএসবিল্ড.এক্সই 2 এর সম্পূর্ণ পথ) আপনার * .csproj ফাইলের সম্পূর্ণ পাথ 3) -ফ্লাইএফপিএলপি: লগফিল = অংশ, যা প্রক্রিয়াটিতে নেওয়া প্রতিটি পদক্ষেপের একটি লগ ফাইল তৈরি করতে এমএসবিল্ডকে বলবে, ৪) আপনি *। লগ ফাইলটি সংরক্ষণ করতে চান এবং 5); ভার্বোসিটি = ডায়াগনস্টিক, যা মূলত এমএসবিল্ডকে বলে * .লগ ফাইলটিতে টন বিশদ অন্তর্ভুক্ত করতে।

আপনি এটি করার পরে, বিল্ডটি বরাবরের মতো ব্যর্থ হবে, তবে এমএসবাইল্ড আপনার রেজজেন.এক্সই ফাইলটি ঠিক কোথায় খুঁজেছে সেখানে একটি * .লগ ফাইল প্রদর্শন করবে আমার ক্ষেত্রে, *। লগ ফাইলের নীচে, আমি খুঁজে পেয়েছি:

Compiling plug-in resources (Task ID:41)
Looking in key SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools-x86 (Task ID:41)
Looking in key SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools-x86 (Task ID:41)
Looking in key SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools-x86 (Task ID:41)
Looking in key SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v8.1a\WinSDK-NetFx40Tools-x86 (Task ID:41)
Looking in key SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v8.0a\WinSDK-NetFx40Tools-x86 (Task ID:41)
MSBUILD: error : Failed to locate ResGen.exe and unable to compile plug-in resource file "C:/Users/Todd/PluginResources.resx"

সুতরাং মূলত, এমএসবিল্ড ResGen.exe এর জন্য পাঁচটি পৃথক ডিরেক্টরি দেখেছে, তারপর ছেড়ে দিয়েছিল। এটি কেবলমাত্র ভিজ্যুয়াল স্টুডিওর ত্রুটি বার্তাটি থেকে পাওয়া যায় না এবং এটি সমস্যার সমাধান করে: এই পাঁচটি অবস্থানের যে কোনও একটির জন্য কী তৈরি করতে কেবল রিজেডিট ব্যবহার করুন এবং "ইনস্টলেশনফোল্ডার" মানটি কীতে রেখে দিন , যা আপনার রেজগেন.এক্সই ফোল্ডারে প্রদর্শিত হবে (আমার ক্ষেত্রে এটি "সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ \ ভি 10.0 এ \ বিন \ নেটফেক্স ৪. 4..২ সরঞ্জামগুলি ছিল")।

আপনি যদি কম্পিউটারের কোনও পটভূমি না রেখে আমার মতো মানবতাবাদী মানুষ হন তবে আপনার উইন্ডোজ রেজিস্ট্রি থেকে হ্যাক সম্পাদনা করার জন্য এবং এই জাতীয় কোনও ত্রুটির মুখোমুখি হয়ে সমস্ত স্থানের অনুলিপি-রেজিজন.এক্সে প্রলুব্ধ করতে পারেন may অবশ্যই, খারাপ অনুশীলন)। উপরে বর্ণিত পদ্ধতিটি অনুসরণ করা আরও ভাল: 1) এমএসবাইল্ড ResGen.exe অনুসন্ধান করছে তার সঠিক অবস্থানটি জানতে আপনার * .csproj ফাইলটিতে সরাসরি MSBuild.exe চালান 2) আপনার উইন্ডোজ রেজিস্ট্রিটি সুনির্দিষ্টভাবে সম্পাদনা করুন যাতে এমএসবিল্ড রেজগেন খুঁজে পেতে পারে। EXE।


আমি এটি চেষ্টা করেছিলাম কিন্তু কিছু কারণে আপনি প্রদর্শিত পাথের তালিকা পাচ্ছি না। আমি এই সাইটে আপনার অনুরূপ পোস্ট পেয়েছি: community.sdl.com/developers-more/developers/… তাই আমি জানি যে এটির কাজ করা উচিত, তবে কোনও লাভ হয়নি। আপনি এমএসবিল্ডের কোন সংস্করণ ব্যবহার করছেন?
ব্যবহারকারী 11809641

দেখে মনে হচ্ছে আমি এমএসবিল্ড সংস্করণটি 4.0.30319 ব্যবহার করছি। আমার কাছে এই কম্পিউটারে 3.5, 3.0 এবং 2.0.50727 সংস্করণ রয়েছে। আমি আমার * .csproj ফাইলে এমএসবিল্ডের সেই সংস্করণগুলি চালানোর চেষ্টা করেছি (উপরে বর্ণিত একই ফ্যাশনে), তবে এটি কার্যকর হয়নি ... এমনকি একটি * .লগ ফাইল তৈরি করে নি। /// আপনি যখন আপনার * .csproj ফাইলটিতে এমএস বিল্ড চালান, কম্পিউটার কি কমপক্ষে একটি * লগ ফাইল তৈরি করে? আমার বোধগম্যতা হল একটি লগ ফাইল রয়েছে, রেসগেন.এক্সে অনুসন্ধানের সময় যে পাথগুলি অনুসন্ধান করা হয়েছিল সেগুলি সম্পর্কে কোনও নির্দিষ্ট তথ্য নেই - এটি কি সঠিক?
টডবট

দেখে মনে হচ্ছে এমএসবাইল্ডের আমার একই সংস্করণ রয়েছে (4.0.30319)। এবং হ্যাঁ, আপনি ঠিক বলেছেন। আমি একটি লগ ফাইল পাচ্ছি, তবে এটি রেজিস্ট্রি পাথগুলির কোনও তথ্য দেয় না। উপরে আপনি যে পাঁচটি পথ পোস্ট করেছেন সেগুলির মধ্যে কোনটি আপনি ব্যবহার করে শেষ করেছেন?
ব্যবহারকারী 11809641

আমি তালিকার 1 ম পাথটি ব্যবহার করেছি - কী সফ্টওয়ার \ WOW6432 নোড \ মাইক্রোসফ্ট \ মাইক্রোসফ্ট এসডিকে \ নেটফএক্সএসডি কে \ 4.6.2 \ উইনসডি কে-নেটএফএক্স 40 টিউলস-এক্স 86-এ কেবল একটি "ইনস্টলেশনফোল্ডার" যুক্ত করেছি। এছাড়াও, *। লগ ফাইলটি আসলে অত্যন্ত দীর্ঘ - আমার ক্ষেত্রে হাজার হাজার লাইন। আমি আমার খালি চোখে পথের তথ্য খুঁজে পাই না। আমি নোটপ্যাডে * .লগ ফাইলটি খোলার চেষ্টা করেছি এবং "রেজগেন.এক্সজি" অনুসন্ধান করেছি যা প্রাসঙ্গিক অঞ্চলটি (পথের তথ্য) আমার নজরে নিয়ে এসেছিল।
টডবট

1
সুপার - অভিনন্দন! আপনি মুষ্টিমেয় কয়েকজনের মধ্যে পরিণত হয়ে গেছেন (কয়েক শ, আমি অনুমান করব) যারা ত্রুটি এবং রহস্যের মধ্যে দিয়ে লড়াই করেছেন এবং ট্র্যাডোসের জন্য একটি প্লাগইন সফলভাবে সংকলন করেছেন। আপনার প্লাগইন প্রকাশের জন্য শুভকামনা, আপনাকে এসডিএল অ্যাপস্টোরের সাথে দেখা হবে!
টুডবট

1

আমি এটিকে কমান্ড-লাইন প্যারামিটারটি এমএসবুইल्ड.এক্সে রূপান্তর করে স্থির করেছি:

আপনার মাইলেজটি আপনার সিস্টেমে থাকা SDK সংস্করণের উপর নির্ভর করে পরিবর্তিত হবে

/p:TargetFrameworkSDKToolsDirectory="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools

0

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

আমার এই সমস্যা হচ্ছে এবং আমি প্রকল্পের ডিবাগ সেটিংস পরীক্ষা করার সিদ্ধান্ত নিয়েছি।

প্রকল্প => সরঞ্জামদণ্ডের বৈশিষ্ট্য => ডিবাগ অগ্রিম সংকলন বিকল্প বোতাম

লক্ষ্য ফ্রেমওয়ার্ক (সমস্ত কনফিগারেশন) 3.0 এ সেট করা হয়েছিল যা আমার সিস্টেমে নেই।

আমি এটি পরিবর্তন করে ৪.০ এ রেখেছি, তারপরে প্রকল্পটি এবং ভিজ্যুয়াল স্টুডিও 2010 পুনরায় চালু করতে হয়েছিল।

প্রকল্পটি তখন ত্রুটি ছাড়াই নির্মিত এবং দৌড়ে।


আমি নীচে এটি সনাক্ত একটি ভুল করেছি। প্রকল্প => সরঞ্জামদণ্ডের বৈশিষ্ট্য => সংকলন অগ্রিম সংকলনের বিকল্পগুলি বোতামটি আমি একটি নতুন প্রকল্পও তৈরি করেছি এবং নতুন প্রকল্প। নেট 3.0 এ সেট করা হয়েছিল। সুতরাং সেখানে ডিফল্ট সেটিংসও পরিবর্তন করার প্রয়োজন হবে। স্কট এ তোয়্য
স্কট টোয়ি

আমি খুঁজে পেয়েছি যে আপনি যখন একটি প্রকল্প তৈরি করেন, উইন্ডোর শীর্ষে সমস্ত ফ্রেমওয়ার্কের একটি ড্রপ ডাউন তালিকা থাকে। এটি ইনস্টল করা আছে কিনা তা নির্বিশেষে সবকিছু তালিকাভুক্ত করা হয়েছে। একবার আপনি একটি কাঠামো নির্বাচন করুন এবং সেই তালিকা থেকে একটি প্রকল্প তৈরি করুন, আপনি এটি কোনও নতুন প্রকল্পের জন্য অন্য ফ্রেমওয়ার্কে পরিবর্তন না করা পর্যন্ত এটি ডিফল্ট থাকবে। এটি কিছুটা বেপরোয়া, তালিকায় কেবলমাত্র ফ্রেমওয়ার্ক থাকতে হবে যা সিস্টেমে ইনস্টল করা আছে।
স্কট তোভে

0

আমারও একই সমস্যা ছিল। আমি একটি প্রকল্প ব্যবহার করে করেছি Visual Studio 2010এবং তারপরে উপরের ত্রুটিটি পেয়েছিলাম যখন আমি এটি ব্যবহার করে সংকলন করেছি Visual Studio 2012। আমি সহজ সব বিষয়বস্তু কপি C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0Aমধ্যে C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0Aআর আমার সমস্যার সমাধান।


3
আমি চাই বিশ্বের সবচেয়ে খারাপ সমাধানের জন্য কোনও ভোট ছিল। এটি হবে।
jonypony3

0

আমার কেবলমাত্র একটি .sln ফাইলের সাথে এই ত্রুটি ছিল যা মূলত ভিজ্যুয়াল স্টুডিও 2010 সালে তৈরি হয়েছিল (এবং ভিজ্যুয়াল স্টুডিও 2010 এবং টিএফএস 2010 দ্বারা নির্মিত হচ্ছে)। আমি একটি প্রকল্প তৈরি না করার জন্য সমাধান ফাইলটি সংশোধন করেছিলাম যা কোনও নির্দিষ্ট কনফিগারেশনে নির্মিত হবে বলে মনে করা হয়নি এবং ভিজ্যুয়াল স্টুডিও থেকে সমাধান ফাইলের শিরোনাম বদলেছে:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

প্রতি:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1

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


0

ভিজ্যুয়াল স্টুডিওর "মেরামত" ব্যবহার করে দেখুন। এটা আমার জন্য কাজ করেছে।


0

সিএমডি মোড়ক
আমি এখান থেকে আরও আরও অনেক কিছু চেষ্টা করেছি। কিছুই আমাকে সাহায্য করেনি।

আমি এমএসবিল্ড এবং ডিভিনিউ ডটকমের জন্য একটি সিএমডি র‌্যাপার প্রয়োগ করেছি।
এই জাতীয় একটি মোড়কের অভ্যন্তরের মূল ধারণাটি ভিজ্যুয়াল স্টুডিও সরবরাহ থেকে কমান্ড প্রম্প্টকে কল করে একটি প্রস্তুত পরিবেশ তৈরি করা। এবং তারপরে MSBuild বা DevEnv.com এর একটি কলটিতে স্ট্যান্ডার্ড ইনপুট পরামিতিগুলি পাস করুন।

যাইহোক, আমার বিল্ড-সার্ভারে এখন আমি বিভিন্ন ভিজ্যুয়াল স্টুডিও সংস্করণ থেকে প্রকল্পগুলি তৈরি করতে পারি।

কীভাবে ব্যবহার
করতে হয় আমাকে আমার ব্যাচের ফাইলের মোড়কের কাছে কল দিয়ে এমএসবিল্ড এবং ডিভেনভের কল করতে হয়েছিল।
এবং আমি কোনও ইনপুট পরামিতি পরিবর্তন করি নি। আমার এমএসবিল্ড র‍্যাপার কলের উদাহরণ হিসাবে:

MsBuild_Wrapper.bat MySolution.sln /target Build /property:Configuration=Release

প্রস্তুত সমাধান
আসলে, আমি ভিএস ২০১০ থেকে ভিএস ২০১৫-তে স্থানান্তরিত হয়ে অনেক বেশি সমস্যায় পড়েছি But তবে এটি প্রথম এবং সবচেয়ে কঠিন।
সুতরাং, বিল্ড সার্ভারের জন্য আমার পরিমিতরূপ উদ্ধার রেসিপিটি এখানে রয়েছে। সম্ভবত এই প্রথম সিএমডি স্টাইলটি প্রথম মুহূর্ত থেকেই বোঝা কঠিন তবে কোনও যুক্তি সুস্পষ্ট, আশা করি।

ইঙ্গিত
আছে
MSBuild Command Prompt for Visual StudioএবংDeveloper Command Prompt for Visual Studio
আমি এগুলি MSBuild এবং DevEnv.com এর জন্য যথাযথভাবে ব্যবহার করি। তবে সম্ভবত এমএসবিল্ড কমান্ড প্রম্পটই যথেষ্ট হবে।

ভিএস 2015 এর জন্য সেই কমান্ডের অনুরোধগুলি এখানে রয়েছে C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ । অথবা উইন্ডোজ প্রোগ্রাম মেনু দিয়ে দেখুন।

আমি ব্যবহৃত ব্যাচ ফাইলের ভিতরে সমস্ত ইনপুট প্যারামিটারগুলি এমএসবিল্ড বা ডিভেনভিতে পাস করতে CALL MSBuild %*

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