নির্দিষ্ট এমএসবিল্ড সতর্কতা কীভাবে দমন করবেন


100

কমান্ড লাইন থেকে এমএসবিল্ড চালানোর সময় নির্দিষ্ট এমএসবিল্ড সতর্কতা (যেমন এমএসবি 3253) অক্ষম করার কোনও উপায় আছে কি? আমার বিল্ড স্ক্রিপ্টটি এমএসবিল্ডকে কল করে ex

msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release

আমি খুঁজে পেয়েছি যে আমি এম #build.exe এর জন্য অন্য প্যারামিটার ব্যবহার করে সি # সতর্কতাগুলি (যেমন CS0618) দমন করতে পারি:

msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release /p:NoWarn=0618

যাইহোক, এই পদ্ধতির এমএস বিল্ড সতর্কতার জন্য কাজ করে না। সেট করা আছে কি অন্য ম্যাজিক সম্পত্তি আছে?

আমি .NET 3.5 এবং VS2008 ব্যবহার করছি।

উত্তর:


64

আমি সতর্কতা স্তরটি দমন করতে সক্ষম হয়েছি /p:WarningLevel=X

msbuild.exe MySolution.sln /t:Rebuild /p:WarningLevel=0 /p:Configuration=Release
                                      ^^^^^^^^^^^^^^^^^
Warning  
Level    Meaning
-------- -------------------------------------------
      0  Turns off emission of all warning messages.

      1  Displays severe warning messages

      2  Displays level 1 warnings plus certain, less-severe warnings, such
         as warnings about hiding class members

      3  Displays level 2 warnings plus certain, less-severe warnings, such 
         as warnings about expressions that always evaluate to true or false

      4  (the default) Displays all level 3 warnings plus informational warnings

4
আমি মনে করি না যে আপনি যদি সমাধানের প্রতিটি প্রকল্পের জন্য 0

6
হ্যাঁ ঠিক. এটি ড্যাশবোর্ডে টেপ ব্যবহার করে আপনার গাড়ীর মোটর সমস্যা ঘুরিয়ে দেওয়ার মতো :-)
কাকো

এমএসবিল্ড 15.4.8.50001, এবং / পি দিয়ে সবেমাত্র এটি ব্যবহার করে দেখুন: ওয়ার্নিংলভেল = 0 এমএসবিল্ড সতর্কতা এমএসবি 3227 দমন করে না।
চিন্তাধারা

4
আমি এটা চেষ্টা করে এবং এই কম্পাইলার সতর্কবার্তা দমন হবে (সি এস ..) কিন্তু না সতর্কবার্তা (MSB ...) MSBuild
marsze

এটি যদি আপনার সত্যই প্রয়োজন হয় তবে এটি হ্যাক but তবে আপনি এই সতর্কতাটি দমন করতে চান এবং সিএসপ্রোজ সংলগ্ন একটি ডিরেক্টরি তৈরি করতে পারেন u বিল্ড.আরএসপি "/ ওয়ার্নস্ম্যাসেজ: এমএসবিএক্সএক্সএক্সএক্স" বিষয়বস্তু যুক্ত করতে।
mjsabby

38

MSB3253 এর জন্য আপনি কেবলমাত্র প্রকল্প ফাইল (* .csproj) এ সেট করতে পারেন যা এই ধরণের সতর্কতার কারণ হয়ে থাকে।

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <!-- some code goes here -->
    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
        None
    </ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
    <!-- some code goes here -->
  </PropertyGroup>

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

16
এমএসে কোথাও এই ম্যাজিক সেটিংসের সম্পূর্ণ তালিকা আছে ..?
এটিভি

কীভাবে এটি করা উচিত দয়া করে আরও বিশদ লিখতে পারেন? কোন ফাইল? সংশোধন করা উচিত? এই MSB8012 জন্য কাজ করে?
গায়েন

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

31

এমএসডিএন ফোরামের এই থ্রেড অনুসারে এমএসবিল্ড সতর্কতাগুলি দমন করা যায় না।


22
দ্রষ্টব্য: এই উত্তরটি এমএসবাইল্ডের ত্রুটির জন্য সঠিক ("এমএসবি" এর উপসর্গযুক্ত), যেমন ওপি বলেছে। গুগল যদি আপনাকে এখানে নিয়ে আসে এবং আপনি সংকলক ত্রুটিগুলি (যেমন "" CS2008 ") দমন করতে চান, আপনি ওপি যা করতে পারেন তা করতে পারেন: /p:nowarn=2008(" সিএস "নম্বরটি বাদ দিন )
মাইকেল হরেন

4
এখনও যদি এমনটি হয় তবে আপনি কি জানবেন?
মার্টিন বা

এমএসডিএন এখানে ডকুমেন্টস / নাওর্নান । এমএসবিল্ড তার কোর কমপাইল লক্ষ্যমাত্রার অংশে এই ভেরিয়েবলটি csc.exe এ নামিয়ে দিয়েছে।
ডেভ ইভান্স

এমএস-বিল্ডে রোজলিন সংকলক সতর্কতাগুলি দমন ও দমন করার কোনও উপায় নেই বলে মনে হয়। '# প্রগমা সতর্কবাণী আরসিএস 1110 অক্ষম করে // নেমস্পেসের মধ্যে প্রকার ঘোষণা করুন' ' আরসিএস বাদ দিয়ে সংকলক সতর্কতা ফিরিয়ে এনেছে।
ব্যবহারকারী 1431356

11

যারা এখন এটি গুগল করছে তাদের জন্য (আমার মতো): আসন্ন এমএসবিল্ড 15.0 (ভিজ্যুয়াল স্টুডিও 2017 এর সাথে প্রকাশিত হওয়ার জন্য, আমি অনুমান করি) অবশেষে নির্দিষ্ট সতর্কতা দমন করার বিকল্পটি প্রয়োগ/NoWarn করবে (পাশাপাশি /WarnAsErrorনির্দিষ্ট সতর্কতা বা সমস্ত সতর্কতাগুলিকে ত্রুটি হিসাবে বিবেচনা করবে) ।


0

এমএসবিল্ডের আরও সাম্প্রতিক সংস্করণগুলি কমান্ড লাইনের মাধ্যমে ( EM0 দ্বারা উল্লিখিত ) বা বৈশিষ্ট্য সহ এটি সমর্থন করে:

<PropertyGroup>
    <MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3253</MSBuildWarningsAsMessages>
</PropertyGroup>

বিশদ জন্য এই মন্তব্য দেখুন

আমি এটি সম্পর্কে অফিসিয়াল ডকুমেন্টেশন পাইনি, তবে এটি VerifyFileHashটাস্ক ডকুমেন্টেশনে উল্লেখ করা হয়েছে

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