سؤال

أنا أستخدم dotnetopenauth (الذي يشير إلى system.web.mvc الإصدار 1.0.0.0) في مشروع MVC 3.0.0.0 في Visual Studio 2010.

أنا أستخدم إعادة توجيه التجميع على النحو التالي:-

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

كل شيء يعمل بشكل جيد ، باستثناء تحليل الكود الذي يعطيني الأخطاء التالية:-

CA0001: تمت مواجهة الخطأ التالي أثناء قراءة الوحدة النمطية X: لا يمكن حل مرجع التجميع: System.Web.MVC ، الإصدار = 1.0.0.0 ، الثقافة = محايد ، publickeytoken = 31BF3856AD364E35.

و

CA0058: لا يمكن العثور على التجميع المرجعية 'System.Web.MVC ، الإصدار = 1.0.0.0 ، الثقافة = محايد ، publickeytoken = 31BF3856AD364E35'. هذا التجميع مطلوب للتحليل وتم الإشارة إليه من قبل: X.

هل هناك طريقة للحصول على أداة تحليل التعليمات البرمجية لاحترام إعادة توجيه التجميع؟

هل كانت مفيدة؟

المحلول

فقط لتكملة إجابة أكثر دقة:

تحتاج إما إلى تشغيل fxcopcmd.exe مع:

fxcopcmd.exe /assemblyCompareMode:StrongNameIgnoringVersion

أو تعديل ملف مشروع Visual Studio الخاص بك لكل مجموعة خاصية تكوين البناء ، مثل هذا:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  ...
  <CodeAnalysisAdditionalOptions>/assemblyCompareMode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
</PropertyGroup>

نصائح أخرى

نرى http://davesbox.com/archive/2008/06/10/reference-resolution-changes-in-code-analysis-and-fxcop-bart-1.aspx و http://davesbox.com/archive/2008/06/14/reference-resolutions-changes-in-code-analysis-and-fxcop-bart-2.aspx لقليل من المعلومات الأساسية.

في VS2010 /FXCOP 10.0 ، يوجد مفتاح سطر أوامر جديد /AssemblyComParemode لـ fxcopcmd.exe يتيح لك تحديد وضع المقارنة دون التغلب على ملف .config. يمكنك تحديد هذا في Project VS باستخدام خاصية CodeAnalySyAdditionalOptions MSBuild.

بالإضافة إلى حل PETER_RAVEN ، يمكنك تحديد الخيار لجعل تحليل التعليمات البرمجية يعمل مع TFS Build. أضف هذا في خيارات الإنشاء ، علامة تبويب العملية ، الفئة المتقدمة في "حجج MSBuild":

/p:CodeAnalysisAdditionalOptions=/assemblyCompareMode:StrongNameIgnoringVersion

استخدم هذا إذا كنت بحاجة إلى إيقاف تشغيل تحليل التعليمات البرمجية.

في Visual Studio 2012 ،

  1. انقر بزر الماوس الأيمن على مشروعك وحدد "الخصائص" من القائمة المنبثقة.
  2. انقر فوق علامة التبويب "تحليل الكود" وإلغاء تحديد "تمكين تحليل التعليمات البرمجية على البناء"

تنظيف وبناء. يجب أن يزول خطأ تحليل الكود.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top