visual studio - এমএস-বিল্ড 2017 "মাইক্রোসফ্ট.ওয়েব অ্যাপ্লিকেশন.টারাজেটস" অনুপস্থিত




visual-studio msbuild (4)

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

  1. vs_buildtools.exe প্রযুক্তিগতভাবে বিদ্যমান নেই। সেই ফাইলটি কোথায় ছিল তা জিজ্ঞাসা করে আমাকে একটি প্রশ্ন create হয়েছিল। এটি সুস্পষ্ট ছিল না যে vs_buildtools.exe হ'ল vs_buildtools _ *******। উদাহরণ এবং প্রকৃত ইনস্টলেশন প্রোগ্রাম। অতিরিক্ত হিসাবে উপরে উল্লিখিত "-আড্ড ***" কেবলমাত্র একটি সংক্ষিপ্ত হাত। একজন জিইউআইতে গিয়ে ওয়ার্কফ্লো উভয় কাজই পরীক্ষা করতে পারেন। একই কাজ করে। বনাম_বিল্ডলগুলি ফাইল থাকাতে আমি ক্ষতবিক্ষত করেছি, যদিও এটির প্রয়োজন নেই।

  2. ভিএসবি প্রো এখনও আমার প্রকল্পটি তৈরি করে নি। আমি একই ত্রুটি উপরের দিকে ফেলেছি। গোপন WebApplications কেবলমাত্র C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0 তে C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0 । আমি তখন প্রকল্পটি পুনর্নির্মাণ করেছি এবং সব ঠিক আছে। আমি ওয়েব অ্যাপ্লিকেশন.টারাজেটস ফাইলটি প্রত্যাশিত স্থানে রেখেছি।

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

আমি এই উত্তরটি আশাকরি পোস্ট করছি যাতে এটি অন্যদের সহায়তা করবে। আমি ফাঁদে পড়েছি এবং আমার প্রকল্পটি নির্মাণ না করায় বেশ কিছুটা সময় হারিয়েছি। আমি আশা করি যে এই উত্তরটি কিছুটা স্পষ্ট করে।

আমি ভিজ্যুয়াল স্টুডিও 2015 থেকে 2017 এ আমাদের বিল্ডার্সভার (জেনকিন্স) আপগ্রেড করার চেষ্টা করছি We আমরা এমএস-বিল্ডের মাধ্যমে বিল্ডিং করছি। এই answer বর্ণিত হিসাবে আমি এমএস-বাল্ড সরঞ্জামগুলি ডাউনলোড এবং ইনস্টল করেছি। আমি যদি আমার প্রকল্পগুলি সংকলন করি তবে আমি একটি ত্রুটি পেয়েছি যা Microsoft.WebApplication.targets পাওয়া যায় নি।

বিস্তারিত ত্রুটি:

 error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets"

আমি এমএস-বিল্ড ডিরেক্টরিতে একটি অনুসন্ধান সম্পাদন করেছি:

PS C:\Program Files (x86)\MSBuild> dir -Recurse -Filter "Microsoft.WebApplication.targets"


    Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications


Mode                LastWriteTime         Length Name                                                                                                                                                                                                            
----                -------------         ------ ----                                                                                                                                                                                                            
-a----       11.01.2012     00:23          19654 Microsoft.WebApplication.targets                                                                                                                                                                                


    Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications


Mode                LastWriteTime         Length Name                                                                                                                                                                                                            
----                -------------         ------ ----                                                                                                                                                                                                            
-a----       22.07.2013     01:25          19995 Microsoft.WebApplication.targets                                                                                                                                                                                


    Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications


Mode                LastWriteTime         Length Name                                                                                                                                                                                                            
----                -------------         ------ ----                                                                                                                                                                                                            
-a----       06.07.2015     21:55          20118 Microsoft.WebApplication.targets                                                                                                                                                                                


    Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\WebApplications


Mode                LastWriteTime         Length Name                                                                                                                                                                                                            
----                -------------         ------ ----                                                                                                                                                                                                            
-a----       22.07.2013     01:25          19995 Microsoft.WebApplication.targets

পুরানো সংকলক সংস্করণগুলির জন্য ফাইলটি বিদ্যমান হিসাবে দেখা যায়, তবে v15.0 এর জন্য এটি অনুপস্থিত।

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

এই সমস্যাটি কীভাবে সমাধান করা যায়? এর একটি সম্ভাব্য সমাধান হ'ল C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications পুরানো ভি 14.0 ফাইলগুলিতে নির্দেশ করে ( C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications )।

ধন্যবাদ


ওয়েব WebApplications ফোল্ডারটি অনুলিপি করুন

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0

থেকে

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0

অথবা আপনার বিল্ড স্ক্রিপ্টে সংকলনের আগে নিম্নলিখিত লাইনটি যুক্ত করুন

Copy-Item "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications" "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications" -Recurse -Force

এটিকে উন্নত অনুমতি দিয়ে চালাতে ভুলবেন না


দেখে মনে হচ্ছে আপনি "ওয়েব ডেভলপমেন্ট বিল্ড টুলস" এর জন্য কাজের চাপটি মিস করছেন: Microsoft.VisualStudio.Workload.WebBuildTools

আপনি here থেকে বিল্ড সরঞ্জাম ইনস্টলারটি ডাউনলোড করে ইনস্টল করতে পারেন (ভিএস ২০১201) অথবা here (ভিএস ২০১৯) তারপরে চলছে

vs_buildtools.exe --add Microsoft.VisualStudio.Workload.WebBuildTools

বা vs_buildtools.exe খোলার এবং vs_buildtools.exe "ওয়েব ডেভলপমেন্ট বিল্ড টুলস" উপাদান নির্বাচন করা:


ভিজ্যুয়াল স্টুডিও 2015 থেকে 2017 এ আপগ্রেড করার পরেও আমার একই রকম সমস্যা ছিল I আমি যখন ওয়েব অ্যাপ্লিকেশন প্রকল্পটি লোড করার চেষ্টা করি তখন এটি আমার ত্রুটি বার্তাটি ছুঁড়ে ফেলেছিল:

আমদানি করা প্রকল্প "সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ এন্টারপ্রাইজ \ এমএসবাইল্ড \ মাইক্রোসফ্ট \ ভিজ্যুয়াল স্টুডিও \ v14.0 \ ওয়েব অ্যাপ্লিকেশন \ মাইক্রোসফট.ওয়েব অ্যাপ্লিকেশন.টারাজেটস" পাওয়া যায় নি। এছাড়াও, Web (ভিএসটিউলসপথ) -এর ফ্যালব্যাক অনুসন্ধানের পথে "ওয়েব অ্যাপ্লিকেশনস \ মাইক্রোসফ্ট.ওয়েব অ্যাপ্লিকেশন.টারাজেটস" সন্ধান করার চেষ্টা করেছেন - "সি: \ প্রোগ্রাম ফাইল (x86) \ এমএসবাইল্ড \ মাইক্রোসফ্ট \ ভিজ্যুয়াল স্টুডিও \ v15.0"। এই অনুসন্ধানের পথগুলি "সি: \ ব্যবহারকারীগণ \ এক্সএক্সএক্স \ অ্যাপডাটা \ স্থানীয় \ মাইক্রোসফ্ট \ ভিজ্যুয়ালস্টুডিও \ 15.0_558e146f \ devenv.exe.config" এ সংজ্ঞায়িত করা হয়েছে। নিশ্চিত করুন যে ঘোষণাপত্রের পথটি সঠিক, এবং অনুসন্ধানের পাথগুলির একটিতে ডিস্কে ফাইলটি বিদ্যমান।

এই ত্রুটির সমাধান আমি here পেয়েছি।

আমার ক্ষেত্রে, .csproj ফাইলটিতে নিম্নলিখিত লাইন রয়েছে:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0</VSToolsPath>
</PropertyGroup>

VSToolPath ট্যাগে v$(VisualStudioVersion) VSToolPath v$(VisualStudioVersion) দ্বারা v14.0 প্রতিস্থাপনের পরে, প্রকল্পটি লোড করা যেতে পারে।

উপরের লিঙ্কটি শো হিসাবে সমাধান হিসাবে আমি v14.0 v10.0 দ্বারা v14.0 প্রতিস্থাপন করেছি। তবে আমার জন্য এটি 14.0 এ রেখে কাজ করেছে worked

এই লাইনগুলি শেষের দিকে কীভাবে দেখা উচিত তা এখানে:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

আপনার .csproj এ যদি এই লাইনগুলি মোটেই না থাকে তবে এই লাইনের আগে আপনাকে নিজেই এগুলি যুক্ত করতে হবে:

<Import Project="$(VSToolsPath)\Web\Microsoft.Web.Publishing.targets" Condition="'$(VSToolsPath)' != ''" />

আমার ক্ষেত্রে (কিছুটা পৃথক ত্রুটি বার্তা তবে একই সমস্যা) এটি এই লাইনটি ছিল:

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

দেখে মনে হচ্ছে যে ২০১১ সাল থেকে ভিজ্যুয়াল স্টুডিও সংস্করণগুলির সাথে তৈরি প্রকল্পগুলিতে VSToolsPath সাথে রেখাগুলি রয়েছে তবে পুরানো ফাইলগুলি তা করে নি। নতুন ভিএস সংস্করণে আপগ্রেড করার সময় ভিজ্যুয়াল স্টুডিওগুলি সেগুলি স্বয়ংক্রিয়ভাবে যুক্ত হয় না, এজন্যই যদি সেগুলি না থাকে তবে আপনার সেগুলি যুক্ত করা উচিত।

এই তথ্যের উত্স: https://developercommunity.visualstudio.com/content/problem/27735/project-fails-to-load-with-error-regarding-microso.html?childToView=123664#comment-123664 ( শোতে ক্লিক করুন পূর্ণ আলোচনার থ্রেড দেখতে আরও মন্তব্য - দুর্ভাগ্যক্রমে আমি এই "আরও" বিভাগের মন্তব্যে সরাসরি লিঙ্ক করতে পারি না))





msbuild