এমএসবিল্ড সি: \ এর পরিবর্তে সি'র পরিবর্তে মাইক্রোসফ্ট.সিপিপি.ড্যাফল্ট.প্রপোসের জন্য কেন \ প্রোগ্রাম ফাইলগুলি (x86) \ এমএসবিল্ড? (ত্রুটি এমএসবি 4019)


124

আমি যখন কোনও ভিসি 2010 প্রকল্প তৈরি করতে মিসবিল্ড চালনা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file exists 
on disk.
  • মিসবিল্ডটি অবস্থিত সি: \ প্রোগ্রাম ফাইল (x86) \ এমএসবিল্ড
  • এইচকেএলএম WAR সফটওয়্যার \ ওয়াও 32৪২৩ নোড \ মাইক্রোসফ্ট \ এমএসবিল্ড \ টুল ভার্সন \ ভি .0.০ ভিসিটারগেটসপথ $ (এমএসবিল্ড এক্সটেনশনপ্যাথ 32) \ মাইক্রোসফ্ট.সিপি \ v4.0 to সেট করেছে
  • এমএসবিল্ড / ভার্বোসিটি চালানোর সময়: ডায়াগ ভাল সিস্টেম হিসাবে দেখায় এমএসবিল্ড এক্সটেনশনসপাথ 32, এমএস বিল্ড এক্সটেনশনসপথ 64, এমএস বিল্ড এক্সটেনশনসপথটি নির্মাণের শুরুতে পরিবেশ হিসাবে সেট করা হয়
  • এমএস বিল্ড এক্সটেনশনসপথ 32, এমএস বিল্ড এক্সটেনশনসপথ 64, এমএসবিল্ড এক্সটেনশনসপথটি শেলের পরিবেশগত ভেরিয়েবল হিসাবে সেট করা তাদের বিল্ড শুরুর সময় পরিবেশ হিসাবে দেখায় না

স্থির করার চেষ্টা করা হয়েছে

  • আনইনস্টল করা। নেট 4.5, মেরামত। নেট 4.0
  • সিস্টেম ভেরিয়েবলগুলিতে এমএস বিল্ড এক্সটেনশনসপথ 32, এমএস বিল্ড এক্সটেনশনসপথ 64, এমএসবিল্ড এক্সটেনশনপথ সেট করুন।

দেখা যাচ্ছে যে এমএসবিল্ড এক্সটেনশনসপথ 32 সঠিকভাবে সেট করা হচ্ছে না এবং এমএসবিল্ড এক্সটেনশনসপথটি সেট করে না

SET MSBuildExtensionsPath="C:\Program Files\MSBuild"

এই ভেরিয়েবলের সঠিক সেটিংটি কীভাবে আটকাচ্ছে তাতে আপনার কোনও ধারণা থাকলে দয়া করে আমাকে জানান।


6
গ্রেট! শত শত ওয়ার্কআরউন্ডের সাথে দূষিত ভিজ্যুয়াল স্টুডিও স্থাপনের ফলে প্রাপ্ত ত্রুটির বিষয়ে আরেকটি প্রশ্ন যা প্রত্যেকে কেবলমাত্র কয়েকটি নির্বাচিত পরিস্থিতিতে কাজ করে ...
ফ্লোরিয়ান উইন্টার

উত্তর:


75

এমএসবিল্ড নামে পরিচিত তাদের কমান্ড লাইন সরঞ্জামটি ব্যবহার করে একটি কোকোস 2 ডি-এক্স অ্যাপ্লিকেশন প্রকাশ করার সময় আমি এই সমস্যাটি পেয়েছি। আমি উইন 7 64-বিট, ভিএস2013 এক্সপ্রেস, কোকোস 2 ডি-এক্স সংস্করণ 3.3,। নেট ফ্রেমওয়ার্ক 4.5 ইনস্টল করছি।

Cocos.py পাবলিশ কমান্ড চালানোর আগে নিম্নলিখিতটি সেট করে সমস্যার সমাধান করেছি:

SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120

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

1
পাওয়ারশেল সংস্করণ:[Environment]::SetEnvironmentVariable("VCTargetsPath", "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140", "Machine")
ফাইট

পথের সাহায্যে 'v4.0' দিয়ে শেষ হয়েছে
আলেকজান্ডার

50

যারা এমএস নিষিদ্ধ আদেশ অনুসরণ করেন নি তাদের জন্য ( এক্সভি এর উত্তর দেখুন ) আপনি এখনও সমস্যার সমাধান করতে পারেন।

এমএসবাইল্ড VCTargetsPathডিফল্ট সিপিপি বৈশিষ্ট্যগুলি সনাক্ত করতে ব্যবহার করে তবে তা করতে পারে না কারণ রেজিস্ট্রিতে এই স্ট্রিংয়ের মান নেই।

স্ট্রিংয়ের মান পরীক্ষা করুন

  • পুনরায় চালু করুন
  • নেভিগেটর থেকে HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
  • VCTargetsPathকী পরিদর্শন করুন । মানটি = " $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\" হওয়া উচিত

ঠিক করতে

  • নেভিগেটরে রিজেডিট চালু করুন HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
  • স্ট্রিংয়ের মান যুক্ত করুন VCTargetsPath
  • " $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\" এ মান সেট করুন

নোট: HKLMঘোরা HKEY_LOCAL_MACHINE


12
রেজিস্ট্রি এন্ট্রি আমার জন্য ইতিমধ্যে ছিল। সেই নামটি set VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0
পাস

12
আমার জন্য এটি এই সেটটি VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120
দিয়েই

1
@ সিএমএম-ব্যবহারকারী এইচকেএলএম এর অর্থ দাঁড়ায় HKEY_LOCAL_MACHINEযে আপনার অবশ্যই এটি পুনর্বিবেচিত হওয়া উচিত
মাইকেল জনস্টন

4
ভিসিটারজেটসপথ কোনও চাবি নয়, তবে স্ট্রিংয়ের মান!
জন স্মিথ

5
আমার জন্য এটি এখন ছিলset VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
ড্যানিয়েল গ্রে

26

আমার সম্প্রতি একই সমস্যা হয়েছে এবং বিভিন্ন ক্রমে বিভিন্ন প্যাকেজ ইনস্টল করার পরে এটি কেবল খুব অগোছালো হয়ে উঠছিল। তারপরে আমি এই রেপোটি পেয়েছি - https://github.com/felixrieseberg/windows-build-tools

npm install --global windows-build-tools

এটি পাইথন এবং ভিএস বিল্ড সরঞ্জামগুলি ইনস্টল করে যা বেশিরভাগ নোড মডিউলগুলি সংকলন করতে প্রয়োজন। এটি একটি ট্রিট কাজ!


1
ভাল জিনিস তবে দুর্ভাগ্যক্রমে আজুরের পক্ষে কাজ করে না।
আলেকসি কনটসেভিচ

6
তাদের জন্য যে আমার মত একটি সমস্যা হতে পারে। আমার --productionবিকল্পের দরকার ছিল । npm install --global --production windows-build-tools নোড-জিপ ইনস্টল করার নির্দেশাবলী অনুসারে: github.com/nodejs/node-gyp
ইলিয়টরোজওয়াটার

15

উইন্ডোজ 10 এ ভিজ্যুয়াল স্টুডিও 2017 এবং 2019 এর জন্য

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

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets

যদি ভিজুয়াল স্টুডিও 2019 সম্প্রদায়ে সংস্করণ ব্যবহার করা হয়,

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160

অন্যান্য উত্তরগুলি এখানে এই পরিবর্তনশীলটি সেট করেছে c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140তবে আমি আমার ভিজ্যুয়াল স্টুডিও ইনস্টলেশনটিতে লক্ষ্য করেছি, আমার এমএসবাইল ফোল্ডারে মাইক্রোসফ্ট.সিপি নামে কোনও ফোল্ডার নেই। সুতরাং এটিকে পাশাপাশি মনে রাখবেন যে উপরের পাথটি ভিজ্যুয়াল স্টুডিও 2017 এর সম্প্রদায় সংস্করণের জন্য।

এছাড়াও, আপনার ভিজ্যুয়াল ভেরিয়েবলের আপনার এমএসবিল্ড পথটি এমএসবাইল্ডের সঠিক সংস্করণকে নির্দেশ করে তা নিশ্চিত করুন আপনি যদি ভিজুয়াল স্টুডিও 2017 সম্প্রদায়ের সংস্করণ ব্যবহার করছেন,

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

আপনি যদি ভিজুয়াল স্টুডিও 2019 সম্প্রদায়ের সংস্করণ ব্যবহার করছেন,

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin

1
খনি সালে VCTargetPath ছিল সি: \ প্রোগ্রাম ফাইল (এক্স 86) \ Microsoft ভিসুয়াল স্টুডিও \ 2017 \ BuildTools \ Common7 \ আইডিই \ ভিসি \ VCTargets
মডুরা প্রদীপ

1
এটি Microsoft Visual Studio\2019\BuildToolsবা একই রকমের ভিন্নতাও হতে পারে - এবং আমি মনে করি বিল্ডটুলস এবং সম্প্রদায়ের পরিবর্তে আপনার পেশাদার এবং উদ্যোগও থাকতে পারে। vswhere.exe -products * -property installationPathসমস্ত সংমিশ্রণের জন্য অনুসন্ধান করবে এবং সমস্ত ইনস্টল করা পণ্যের অবস্থান ফিরিয়ে দেবে।
MSalters

1
'vswhere.exe' is not recognized as an internal or external command, operable program or batch file.
অ্যান্ড্রু কোস্টার

13

ইনস্টল করার প্রক্রিয়া Microsoft ভিসুয়াল সি ++ 2010 সার্ভিস প্যাক 1 কম্পাইলার আপডেট উইন্ডোজ SDK এর 7.1 জন্য সংশোধন করা হয়েছেMSB4019 ত্রুটি আমি Windows7 x64 উপর বিল্ডিং পেয়ে ছিল।

সেই আপডেটের রিডমিতে বলা হয় যে প্রস্তাবিত আদেশ

  1. ভিজ্যুয়াল স্টুডিও 2010
  2. উইন্ডোজ এসডিকে 7.1
  3. ভিজ্যুয়াল স্টুডিও 2010 এসপি 1
  4. উইন্ডোজ এসডিকে 7.1 এর জন্য ভিজ্যুয়াল সি ++ 2010 এসপি 1 সংকলক আপডেট

ওহ ঠিক আছে. আমি এই জন্য ঠিক খুঁজে বের করেছি। নিখোঁজ রেজিস্ট্রি কী যুক্ত করুন। এই আদেশটি অনুসরণ করতে আমি এটি পোস্ট করব এবং আমার সেটআপ ডক্স আপডেট করব
পিটার কাহন

6

-৪-বিট সিস্টেমে, এমএসবিল্ড নিম্নলিখিত বৈশিষ্ট্যগুলিতে ডিফল্ট হয় (যেখানে সি: সিস্টেমড্রাইভ হয়):

MSBuildExtensionsPath = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath32 = C:\Program Files (x86)\MSBuild
MSBuildExtensionsPath64 = C:\Program Files\MSBuild

যদি এটি না হয় তবে এর অর্থ এটি হয় আপনি কিছু কাস্টম তৃতীয় পক্ষের ওভাররাইড লক্ষ্যমাত্রা ইনস্টল করেছেন, বা আপনার এমএসবিল্ড ইনস্টলেশনটি ক্ষতিগ্রস্থ হয়েছে।

চেষ্টা করার বিষয়গুলি:

  • NET ইনস্টলেশন
  • সর্বশেষ ভিজ্যুয়াল স্টুডিও পরিষেবা প্যাক প্রয়োগ করুন
  • MSBuildExtensionsPathউপরে হিসাবে ম্যানুয়ালি সেট করুন (note৪- x86বিট মেশিনে অংশটি নোট করুন )

2
ধন্যবাদ তবে সেগুলি এখনও সেট করা হয়নি: 1) মেরামত করুন। নেট 4.5, 2) আনইনস্টল করুন নেট নেট 4.5 এবং মেরামত 4.0। যদি আমি তাদের পরিবেশে ম্যানুয়ালি সেট করি তবে এটি কোনও কাজ করে না
পিটার কাহন

5

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

ত্রুটি এমএসবি 4019: আমদানি করা প্রকল্প "ডি: \ মাইক্রোসফ্ট.সিপিপি.ড্যাফল্ট.পড়গুলি" পাওয়া যায়নি

আমি একটি স্ট্রিং যোগ করে এটি ঠিক করেছি

VCTargetsPath

মান সহ

$ (MSBuildExtensionsPath32) \ Microsoft.Cpp \ v4.0 \ V140

রেজিস্ট্রি পথে

HKLM \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 14.0


হয়ে গেল পরে সেন্টিমিডি পুনরায় চালু হয়েছে, তবে সমস্যাটি ঠিক করে না।
ড্যান

4

এমএস বিল্ড একটি স্বতন্ত্র বিল্ড সরঞ্জামে যা প্রায়শই অন্যান্য সরঞ্জামগুলির সাথে বান্ডিল হয়। এটি আপনার কম্পিউটারে। নেট (পুরানো সংস্করণ), ভিজ্যুয়াল স্টুডিও (আরও নতুন সংস্করণ), বা এমনকি টিম ফাউন্ডেশন বিল্ড দিয়ে ইনস্টল করা থাকতে পারে।

এমএসবিল্ডের কনফিগারেশন ফাইল, সংকলক ইত্যাদির প্রয়োজন (একটি টুলসেট) যা ভিজ্যুয়াল স্টুডিও বা টিএফএস এর সংস্করণটির সাথে মেলে যা এটি ব্যবহার করবে, সেই সাথে NET এর সংস্করণ যা উত্স কোডটি সংকলিত হবে।

এমএসবিল্ড কীভাবে ইনস্টল করা হয়েছে তার উপর নির্ভর করে কনফিগারেশন ফাইলগুলি এই এক বা একাধিক পথে থাকতে পারে।

  • সি: \ প্রোগ্রাম ফাইল (x86) \ এমএস বিল্ড \ মাইক্রোসফ্ট.সিপিপি \ v4.0 \
  • সি: \ প্রোগ্রাম ফাইল (x86) \ এমএস বিল্ড \ মাইক্রোসফ্ট.সিপি \ v4.0 \ ভি 120
  • সি: \ প্রোগ্রাম ফাইল (x86) \ এমএস বিল্ড \ মাইক্রোসফ্ট.সিপি \ v4.0 \ ভি 140

অন্যান্য উত্তরে বর্ণিত হিসাবে, একটি রেজিস্ট্রি আইটেম এবং / অথবা পরিবেশগত পরিবর্তনশীল পয়েন্ট অবশ্যই টুলসেটের পথে যেতে হবে।

  • এইচকেএলএম OF সফটওয়্যার \ মাইক্রোসফ্ট \ এমএসবিল্ড \ সরঞ্জামস সংস্করণ \ 4.0 এর অধীনে ভিসিটিজেটপথ কী
  • ভিসিটারজেটসপথ পরিবেশগত পরিবর্তনশীল।

কখনও কখনও, কোনও সরঞ্জাম ইনস্টল করার মতো একটি অপারেশন রেজিস্ট্রি এবং / বা পরিবেশগত পরিবর্তনশীল সেটটি ভুলভাবে ছেড়ে দেয়। অন্যান্য উত্তরগুলি সেগুলি ঠিক করার ক্ষেত্রে সমস্ত প্রকারভেদ।

আমি কেবল যুক্ত করতে চাই পরিবেশগত পরিবর্তনশীল আমার জন্য কাজ করে নি যখন আমি ট্রেলিংটি ছেড়ে চলেছি \


এই! কোনও সম্পূর্ণ ভিএস2017 ইনস্টল না করে আমাদের বিল্ড এজেন্টে আমাদের সমস্যা ছিল। আমরা প্রদত্ত ভিসি সরঞ্জাম সেট দিয়ে "ওয়ার্কলোড" পুনরায় ইনস্টল করেছি - পৃথক উপাদান নয়, এবং এটি একটি সঠিক ইনস্টল করেছে। আমাদের সন্দেহ হয় ভিজ্যুয়াল স্টুডিও ইনস্টলারটি আমাদের কাস্টম উপাদান নির্বাচন ইনস্টলের সময় VS2017 এর অধীনে সঠিক টুলসেট v141 রাখেনি।
লার্স পেলারিন

আমার জন্য, এটি এটি ঠিক করতে সহায়তা করেছিল - আমি যে স্ক্রিপ্টটি ব্যবহার করছিলাম সেটি ছিল "সহায়তার সাথে" ভুল এমএসবিল্ড.এক্সে খুঁজে পেয়ে এবং এটিকে স্পষ্টভাবে কল করা।
স্কোয়েটা

4

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

এই রেজিস্ট্রি ফাইল উভয় ক্ষেত্রেই স্থির করে:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\10.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\11.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\12.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\10.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\11.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\12.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"


3

সম্পাদনা: এটি ভিজ্যুয়াল স্টুডিও / এমএসবিল্ড (বিশেষত এমএসভিসি ২০১৫?) এর পুরানো সংস্করণগুলিতে প্রযোজ্য। আরও আধুনিক সংস্করণ সহ, এমএসবাইল্ড ভিজ্যুয়াল স্টুডিও বিল্ড টুলস 2019 এ অন্তর্ভুক্ত রয়েছে এবং সংকলকগুলি বিভিন্ন জায়গায় অবস্থিত এবং বিভিন্ন উপায়ে সনাক্ত করা হয়েছে।

এটি ইনস্টলড এমএসবিল্ড টুলসেট এবং রেজিস্ট্রি সেটিংসের অমিলের কারণে। আপনি নিম্নলিখিত এক বা একাধিকটি করলে এটি ঘটতে পারে:

  • ভুল ক্রমে একাধিক ভিজ্যুয়াল স্টুডিও সংস্করণ ইনস্টল করুন
  • ভিজ্যুয়াল স্টুডিওর এক বা একাধিক সংস্করণ আনইনস্টল করুন
  • ম্যানুয়ালি ভিজ্যুয়াল স্টুডিও ইনস্টলেশনতে রেজিস্ট্রি পরিবর্তন বা পরিবর্তন করুন

আপনার ওএস পুনরায় ইনস্টল করা একমাত্র নিরাপদ এবং নির্ভরযোগ্য সমাধান। আপনার প্রকল্পটি যদি নির্মাণের জন্য ভিজ্যুয়াল স্টুডিওর একাধিক সংস্করণ প্রয়োজন তবে প্রথমে প্রাচীনতম সংস্করণটি ইনস্টল করুন । তারপরে আপনার কোডটি ঠিক করুন যাতে আপনি এটি তৈরির জন্য একটি একক সরঞ্জাম ব্যবহার করতে পারেন বা আপনি বা আপনার সহকর্মীরা শীঘ্রই আবার একই গোলযোগে ফিরে যাবেন।

যদি এটি আপনার পক্ষে বিকল্প না হয় তবে সমস্যার আরও ভালভাবে বুঝতে এবং বিভিন্ন "সমাধান" আসলে কী করে তা জানতে প্রথমে https://stackoverflow.com/a/41786593/2279059 পড়ুন । তারপরে, আপনার ভিজ্যুয়াল স্টুডিও সংস্করণ এবং সেটআপের উপর নির্ভর করে সেগুলির মধ্যে অন্য একটি উত্তর বা তারতম্য শেষ পর্যন্ত সহায়তা করতে পারে।

আরও কিছু ইঙ্গিত:


2

উইন্ডোজ এসডিকে 7.1 এর জন্য মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ 2010 সার্ভিস প্যাক 1 সংকলক আপডেট ইনস্টল করা আমার পক্ষে কাজ করেছে। যাইহোক, আমি আপডেটটি নিয়ে সমস্যাগুলির মুখোমুখি হয়েছি কারণ আমি ইতিমধ্যে ভিএস 2010 এবং ভিএস 2010 এসপি 1 ইনস্টল করেছি। উপরে Xv দ্বারা উল্লিখিত হিসাবে , readme.htm ফাইলে "জ্ঞাত সমস্যা" বিভাগে সর্বাধিক সাধারণ ইনস্টলেশন সমস্যার সমাধান রয়েছে। আমি readme.htm এর নির্দেশাবলী অনুসরণ করব এবং প্রতিটি সমস্যা সমাধানের চেষ্টার পরে আপনার মেশিনটি পুনরায় বুট করব কারণ কিছু ইনস্টল আপনার রেজিস্ট্রিতে লেখেন।


2

আমার ক্ষেত্রে, আমি VCTargetPathপথের সাথে একটি পরিবেশের পরিবর্তনশীল যুক্ত করেছি

"সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ পেশাদার \ সাধারণ 7 \ আইডিই \ ভিসি \ ভিসিটারজেটস \"

(শেষে '' cruc 'গুরুত্বপূর্ণ, কারণ প্রকল্প সমাধান ফাইলগুলিতে "মাইক্রোসফ্ট সিপিপি টার্গেট" ফাইলের একটি উল্লেখ রয়েছে reference

এছাড়াও, ভিজ্যুয়াল স্টুডিও 2017 থেকে শুরু করে এমএসবিল্ড ভিজ্যুয়াল স্টুডিওতে আসে - সুতরাং, এটির PATH variableসাথে আপডেট করা দরকার

সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ পেশাদার \ এমএসবিল্ড \ 15.0 \ বিন

আপডেটিং VCTargetPathএবং এমএসবিল্ডের PATHভেরিয়েবল এবং বিল্ডিং ত্রুটিটিকে স্থির করেছে।


0

আমি বিল্ড স্ক্রিপ্ট লিখে এই ত্রুটিটি পেরিয়ে এসেছি যা এমএসবিল্ডকে% PATH% এ পুনরায় ক্রমান্বয়ে সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নোট ফোল্ডারের মাধ্যমে পাওয়া যায় এমন কোনও এমএসবিল্ড.এক্সই ফাইলগুলির জন্য অনুসন্ধান করবে। সর্বশেষ পাওয়া হিটটি ছিল সেই ডিরেক্টরি যা পথে ফেলে দেওয়া হয়েছিল। যেহেতু আমি dirকমান্ডটি আমার ফাটরে hit৪ বিট এমএসবিল্ডগুলির মধ্যে একটি পাবার Framework64পরে ফোল্ডারে চলে Frameworkআসবে। আমি একটি ভিজ্যুয়াল স্টুডিও 2010 সমাধান তৈরি করার চেষ্টা করছিলাম এবং আমার সন্ধানের স্ট্রিংটি থেকে অন্যদিকে পরিবর্তন করে C:\Windows\Microsoft.NETদিয়েছিলাম C:\Windows\Microsoft.NET\Frameworkযাতে আমি একটি 32 বিবিএস এমএসবাইল্ড.এক্সই দিয়ে যেতে পারি। এখন আমার সমাধান ফাইল তৈরি করে।


0

আমি VCTargetsPath={c:\...}আমার হডসন কাজের পরিবেশের পরিবর্তনশীল হিসাবে কেবল যুক্ত করেছি।


0

রেকর্ডের জন্য, ফাইলটি Microsoft.Cpp.Default.propsএনভিটি ভার সংশোধন করতে পারে VCTargetsPathএবং এর পরে ব্যবহারগুলি ভুল করে। আমি সমস্যাটি পেয়েছি এবং সেট করে VCTargetsPath10এবং এর VCTargetsPath11চেয়ে একই মানের সাথে এটি সমাধান করেছি VCTargetsPath

আপনি যে ভিএস সংস্করণটি ব্যবহার করছেন তা অনুসারে এটি মানিয়ে নেওয়া উচিত।


0

আমি এটি একটি ভিএস ২০১7 পরিবেশে দেখছি। আমার বিল্ড স্ক্রিপ্টটি VsDevCmd.batপ্রথমে কল করে এবং এই সমস্যার সমাধানের জন্য আমি এমএসবাইলকে ফোন করার আগে এবং তার আগে VCTargetsPathপরিবেশ পরিবর্তনশীল সেট VsDevCmdকরেছিলাম:

set VCTargetsPath=%VCIDEInstallDir%VCTargets

0

উপরে VS2017 / 2019 সম্পর্কে ক্রিস গংয়ের উত্তরে যুক্ত করা (আমার কাছে এখনও মন্তব্যের অনুমতি নেই)।

যদি ভিএস 2019 বিল্ড সরঞ্জামগুলি সম্পূর্ণ ভিজ্যুয়াল স্টুডিওর পরিবর্তে ইনস্টল করা থাকে তবে ফাইলের পথগুলি কিছুটা আলাদা। ভিসিটারেজসপথটি তখন হওয়া উচিত

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\

সমাপ্তি ব্যাকস্ল্যাশটিও নোট করুন - আমার ক্ষেত্রে অন্তত প্রয়োজনীয় (টিএফএস2017, ভিএস2019 বিল্ড সরঞ্জাম)। PATH এন্ট্রিতেও একই পরিবর্তন।


0

আমি ভিএস 17 এর জন্য এমএসবিল্ডের সাথে একই সমস্যার মুখোমুখি ছিলাম

আমি নিম্নলিখিত পদক্ষেপগুলি প্রয়োগ করে এটি সমাধান করেছি:

  • আমার ক্ষেত্রে Microsoft.Cpp.Default.propsফাইলটি ছিল C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets তাই আমি VCTragetsPathরেজিস্ট্রিতে HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0মান সহ স্ট্রিং তৈরি করেছিC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets

  • আমি আমার জেনকিন্সকে অ্যাডমিন ব্যবহারকারী হিসাবে চালিয়েছি

এটি আমার সমস্যা সমাধান করেছে।


0

স্থির পথ নির্ধারণের পরিবর্তে প্রথমে আপনার পোস্ট-বিল্ড কমান্ড-লাইনে এটি ব্যবহার করে দেখুন:

SET VCTargetsPath=$(VCTargetsPath)

পরিবর্তনশীল '$ (ভিসিটারজেটসপথ)' একটি সি ++ - সম্পর্কিত ভিজ্যুয়াল-স্টুডিও-ম্যাক্রো বলে মনে হচ্ছে যা সি # -sdk-প্রজেক্টে ম্যাক্রো হিসাবে দেখানো হয়নি তবে এখনও সেখানে উপলব্ধ।

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