সতর্কতা: মাইপ্রজেক্ট.সিএসপ্রোজকে উল্লেখ করে সমস্ত প্রকল্পের নুগেট প্যাকেজ মাইক্রোসফ্ট ইনস্টল করতে হবে u


90

আমার কাছে ভিএস ২০১২-তে একটি এএসপি.নেট এমভিসি 4 অ্যাপ্লিকেশন তৈরি হয়েছে The সাধারণ উদ্দেশ্য গ্রন্থাগার প্রকল্প।

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

warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build

ঠিক আছে, সুতরাং আমার কাছে দুটি প্রকল্প রয়েছে যা মাইপ্রজেক্টটি রেফার করে: মাইপ্রজেক্ট. টেস্টস এবং মাইপ্রজেক্ট.আজুরি। আমি মাইপ্রজেক্ট.টেষ্টগুলি রাইট-ক্লিক করতে পারি, ম্যানেজমেন্টুগেট প্যাকেজ নির্বাচন করতে পারি এবং মাইক্রোসফট.বিসিএল.বিল্ড যুক্ত করতে পারি। এটি দুটি সতর্কতার মধ্যে একটি থেকে মুক্তি পেয়ে যায়। তবে ভিএস আমাকে মাইপ্রজেক্ট.এজুরি প্রকল্পের জন্য নুগেট প্যাকেজগুলি পরিচালনা করার বিকল্প দেয় না

আমি কীভাবে মাইক্রোসফ্ট.বিসিএল.বিল্ড প্যাকেজ অ্যাজুরে ডিপ্লোয়মেন্ট প্রকল্পে যুক্ত করব?

সম্পাদনা:

ব্যবহারকারী ফোলা ধন্যবাদ , আমি এখন জানি যে এই সমস্যার জন্য একটি মাইক্রোসফ্ট সংযোগ ইস্যু এখানে খোলা হয়েছে


4
সংযোগ ইস্যুতে রেফারেন্সের জন্য ধন্যবাদ, এটি একটি বিরক্তিকর সমস্যা।
পল কেইস্টার

4
সাবধানবাণী যখন সংশ্লিষ্ট বিল্ডিং স্থাপনার প্রকল্প, এছাড়াও আছে একটি বাগ যখন একটি কৃত্রিম সাবধানবাণী ঘটে প্রকাশ প্রকল্পের। প্রকাশ-সম্পর্কিত বাগটি কানেক্ট- এও রিপোর্ট করা হয়েছে । আমি কোন কাজের কথা জানি না।
এডওয়ার্ড ব্রে

4
একই সমস্যাটি আমার কাছে ওয়াইএক্স প্রকল্পগুলির ক্ষেত্রে ঘটে যা অন্যান্য প্রকল্পের রেফারেন্স রাখে (কাটা প্রকল্পের আউটপুট ওরফে। "তাপ")। কোনও ওয়াইএক্স ইনস্টলার প্রকল্পের জন্য নুগেট প্যাকেজ ইনস্টল করার কোনও অর্থ নেই! আরগ !!
জানস

4
সংযোগ ইস্যুটির লিঙ্কটি এখন 404 কানেক্ট.মাইক্রোসফট
রায়ান গেটস

উত্তর:


54

আপনি যদি সতর্কতার উপর ডাবল ক্লিক করেন তবে এটি আপনাকে সতর্কতা অক্ষম করার নির্দেশ দেয় gives

যে প্রকল্পগুলি এখনও নুগেটকে সমর্থন করে না তাদের প্রকল্পের উল্লেখগুলি অক্ষম করা নিরাপদ।

মাইক্রোসফ্ট.বিসিএল.বিল্ড.টারাজেটস থেকে অনুলিপিযুক্ত অনুলিপিটির অংশটি দেখুন ।

বিসিএল বিল্ডভালিডেট নিউজপ্যাকেজ রেফারেন্স

প্রকল্পটি রেফারেন্সের জন্য এই লক্ষ্যটি অক্ষম করা যেতে পারে SkipValidatePackageReferences = রেফারেন্সের জন্য সত্য দ্বারা সেট করে:

<ProjectReference Include="..\pcl\pcl.csproj">
  <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project>
  <Name>pcl</Name>
  <Properties>SkipValidatePackageReferences=true</Properties>
</ProjectReference>

4
আর্থার, আপনি কি সম্পত্তির পরিবর্তে অতিরিক্তপ্রেটস মেটাডেটা মান সেট করার চেষ্টা করতে পারেন?
TheESJ

4
@ থেজেজে আমি একটি ওয়াইএক্স প্রকল্পে এই সমস্যাটি দেখছিলাম এবং প্রোপার্টি কাজের পরিবর্তে অতিরিক্তপ্রেটিস সেট করার মতো মনে হচ্ছে। আমি কেন জানতে আগ্রহী
এলসি।

4
এটি কেবল সমাধানটি তৈরির জন্য কাজ করে, তবে আপনি যখন সত্যই 'স্টোরআপ প্রজেক্ট' হিসাবে অ্যাজুরে প্রকল্পের সাথে 'রান' ব্যবহার করেন, আপনি আবার সতর্কতা দেখতে পাবেন।
শ্রুতিমধুর

4
এমনকি নির্মাণেও কাজ করবেন না। ভিএস 2015 সম্প্রদায় সংস্করণ।
আর্টিয়াম

4
ভিএস ২০১৫ পেশাদারে কাজ করেননি। আমার এই লাইনটি যুক্ত করার একই সমস্যা রয়েছে।
একল্লেক্স

63

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

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

সমাধান? অ্যাজুরে প্রকল্প থেকে রেফারেন্স চেকিং অক্ষম করুন যেহেতু আসলে কোনও ন্যুগেট প্যাকেজ রেফারেন্স যুক্ত করা অসম্ভব।

উদাহরণ

সুতরাং, ধরে নিই যে আমাদের দুটি প্রকল্প রয়েছে: মাইআজুরিপ্রজেক্ট.সিসিপ্রজ যা মাইপ্রজেক্ট.সিএসপ্রোজ উল্লেখ করে । এই পদক্ষেপগুলি অনুসরণ করুন:

  1. সমাধান এক্সপ্লোরারে "মাইআজুরিপ্রজেক্ট" এ ডান ক্লিক করুন এবং "প্রকল্প ফাইল সম্পাদনা করুন" নির্বাচন করুন।
  2. "মাইপ্রজেক্ট" এর প্রকল্প রেফারেন্সটি সন্ধান করুন। এটির মতো দেখতে হবে:

    <ProjectReference Include="..\MyProject\MyProject.csproj">
      <Name>MyProject</Name>
      <Project>{1d99490e-d140-4897-9890-238e673a5864}</Project>
      ...
    </ProjectReference>
    
  3. প্রকল্পের উল্লেখ উপাদানের ভিতরে নিম্নলিখিত উপাদান যুক্ত করুন:

      <Properties>SkipValidatePackageReferences=true</Properties>
    
  4. আপনার প্রকল্পের রেফারেন্সটি এখন এর মতো দেখতে হবে:

    <ProjectReference Include="..\MyProject\MyProject.csproj">
      <Name>MyProject</Name>
      <Project>{1d99490e-d140-4897-9890-238e673a5864}</Project>
      ...
      <Properties>SkipValidatePackageReferences=true</Properties>
    </ProjectReference>
    
  5. সলিউশন এক্সপ্লোরারের "মাইআজুরিপ্রজেক্ট" এ ডান ক্লিক করুন এবং "পুনঃলোড প্রকল্প" নির্বাচন করুন।

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


17
বনাম আমার সংস্করণে আমি প্রথম ডান-ক্লিক করুন এবং "আন প্রকল্প" আছে আগে আমি সম্পাদনা করতে ডান-ক্লিক প্রকল্প ফাইল করতে পারেন
পায়াস

4
আপনি কি বোঝাতে চেয়েছেন MyAzureProject.ccprojবদলে MyAzureProject.csproj?
এডওয়ার্ড ব্রে

আমি কেবলমাত্র <<প্রপার্টি> স্কিপভিলেটেটপ্যাকেজ রেফারেন্সগুলি = সত্য </ p> শুধু সম্পাদনা * .ccproj কাজ করে না।
অ্যালেক্সি

4
@ পিয়াস এটি একটি ছোট বৈশিষ্ট্য, তবে উত্পাদনশীলতা বিদ্যুৎ সরঞ্জামগুলিতে 'পাওয়ার কমান্ড' এর অধীনে একটি 'প্রজেক্ট ফাইল সম্পাদনা করুন' প্রাসঙ্গিক মেনু বিকল্প রয়েছে , যা ভিএসের বেশ কয়েকটি সংস্করণের জন্য উপলভ্য available এটি প্রকল্পটি আনলোড করবে এবং এক ক্লিকে আপনার জন্য প্রকল্প ফাইলটি খুলবে।
জেফ

16

আমি একই সমস্যার মুখোমুখি হয়েছি এবং মাইক্রোসফ্ট.বিসিএল.বিল্ড.টারজেটস আপডেট করার চেষ্টা করছিলাম; যা সাহায্য করেনি।

কিছু তদন্তের পরে দেখা গেছে যে আজুর সার্ভিস প্রকল্পের .csproj ফাইলটি অন্তর্ভুক্ত করতে অবশ্যই পরিবর্তন করতে হবে <Properties>SkipValidatePackageReferences=true</Properties>

এটি @TheESJ এর উত্তর থেকে স্পষ্ট ছিল না এবং তাই পৃথক উত্তর পোস্ট করার সিদ্ধান্ত নিয়েছে। @ থেএসজেকে ধন্যবাদ


2

আমি বেশ কয়েকবার এই সমস্যাটির মুখোমুখি হয়েছিলাম, এবং সম্পত্তিগুলির পদ্ধতিটি আসলেই কাজ করে, তবে উইক্স প্রকল্পের সাথে কাজ করার সময়, আমাকে এর পরিবর্তে নিম্নলিখিতগুলি করতে হয়েছিল:

<AdditionalProperties>SkipValidatePackageReferences=true</AdditionalProperties>

আমি যখন প্রোপার্টি এক্সএমএল নোড ব্যবহার করি তখন আমি একটি নতুন ত্রুটি পেয়েছিলাম:

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


0

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

<PropertyGroup>
      <SkipValidatePackageReferences>true</SkipValidatePackageReferences>
</PropertyGroup>

... প্রথম সম্পত্তি গ্রুপের আগে প্রকল্প ফাইলের শীর্ষে।

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