خطأ ASPNETCOMPILER ASPCONFIG: لم يستطع تحميل الملف أو تجميع "microsoft.visualbasic.activities.compiler" أو أحد تبعياته

StackOverflow https://stackoverflow.com/questions/3055633

سؤال

لقد قمت للتو بترقية مشروعي إلى ASP.NET 4 ، من 3.5. عندما ينطلق البناء من TeamCity ، أحصل على الخطأ التالي:

[Project "Website.metaproj" (Rebuild target(s)):] C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /Website -p Website\ -u -f PrecompiledWeb\Website\
[12:11:50]: [Project "Website.metaproj" (Rebuild target(s)):] ASPNETCOMPILER error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format.
[12:11:50]: MSBuild output:
[12:11:50]: Copying file from "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Dependencies\wnvxls.dll" to "Website\\Bin\wnvxls.dll".
[12:11:50]: Copying file from "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Dependencies\wnvxls.xml" to "Website\\Bin\wnvxls.xml".
[12:11:50]: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /Website -p Website\ -u -f PrecompiledWeb\Website\
[12:11:50]: ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format. [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj]
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target(s)) -- FAILED.
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target(s)) -- FAILED.
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target(s)) -- FAILED.
[12:11:50]: Build FAILED.
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target) (1) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target) (2) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target) (3) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.Other\MyProject.Other.csproj" (Rebuild target) (5) ->
[12:11:50]: (CoreCompile target) ->
[12:11:50]: Helpers\ProgramHelper.cs(40,21): warning CS0168: The variable 'ex' is declared but never used [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.Other\MyProject.Other.csproj]
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target) (1) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target) (2) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target) (3) ->
[12:11:50]: (Rebuild target) ->
[12:11:50]: ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format. [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj]
[12:11:50]: 1 Warning(s)
[12:11:50]: 1 Error(s)
[12:11:50]: Time Elapsed 00:00:31.48

لقد حاولت نسخ تجميعات مرجعية إطار عمل .NET إلى ملفات C: Program (x86) مرجعية Microsoft Framework.netframework v4.0 التفكير من شأنه أن يصلح الأشياء ، ولكن لا يوجد محظوظ. أي أفكار؟

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

المحلول 2

كان هذا الخطأ يتعلق بمكتبات الفصل في الحل الذي يشير إلى مجموعات النظام الأقدم (V3 أو V3.5). تمت الرجوع إلى مكتبات الفصل هذه من خلال موقع الويب الخاص بي ، وبالتالي تم نسخ مجموعات النظام إلى مجلد BIN مع مكتبات الفصل. ربما يكون لتجميعات النظام في دليل 3.5 أذونات مختلفة عن دليل 4.0 وعندما حاول ASPNET_COMPILER تحميلها من دليل BIN ، فإنه يحترق.

بعد مرور كل ملف csproj وتحديثه <RequiredTargetFramework> القيم ل 4.0, ، كل شيء يعمل كما هو متوقع.

نصائح أخرى

بالنسبة لي كان بالفعل عدم تطابق x86/x64. لقد قمت بحلها عن طريق تحديد المسار إلى X64 MSBuild من خلال متغير بيئة MSBuild:

Set the MSBuild environment variable

حصلت على نفس الخطأ بناء .csproj_deploy من VS. جميع المشاريع الأخرى بما في ذلك الويب في الحل بنيت بشكل جيد. كان هناك هذا في الواقع Microsoft.VisualBasic.Activities.Compiler DLL في مجلد سلة الويب الخاص بي. عندما قمت بالنقر فوق حل/نظيف ، تم حذف جميع الملفات الموجودة في المجلد باستثناء هذا. لقد قمت بحذف هذا الملف يدويًا وبنيت مرة أخرى وبنيت بشكل جيد. هذه المرة ، لا أرى هذا الملف في مجلد بن.

يبدو وكأنه عدم تطابق x86/x64 - أوصي بشدة باستخدام مثبت الإطار ، بدلاً من اختراقه عن طريق نسخ الملفات باليد

لقد وجدت الحل المقبول البسيط للغاية المقدم هنا تم إصلاح المشكلة بالنسبة لي ، وهذا يتم تثبيته Windows SDK لـ .NET Framework 4 (أو ما يعادل إصدار Windows الخاص بك).

لاحظ التعليق على الإجابة المقبولة التي تقول "Intellisense and Reference Assemblies" هي الميزات الوحيدة من SDK اللازمة لإصلاح هذه المشكلة.

كان الحل البسيط الذي عمل بالنسبة لي هو تعديل خط الهدف من ملف .vbproj. ببساطة تغيير "v4.0" إلى "4.0" إزالة جميع أخطاء copmiler وأصلح مشكلات Intellisense الخاصة بي (لم يتم التعرف على علامات ASP.NET).

كان لدينا هذا الخطأ عند تبديل بيئات الاستضافة لدينا (إلى خادم الويب الجديد مع IIS).

كان الإصلاح:

  • إما تغيير تجمع التطبيقات / الإعدادات المتقدمة ، وتعيين Enable 32 bit applications إلى true, ، أو
  • احذف جميع التجميعات من مجلد Bin الذي ينتمي بالفعل إلى الإطار (على سبيل المثال كان لدينا System.Data.dll في مجلد BIN الخاص بنا ، والذي تم بناؤه بوضوح ل 32 ب - حذفه إصلاح المشكلة)

لقد وجدت أنه كان لدي إشارة غير ضرورية إلى "microsoft.visualbasic.activities.compiler 'dll. بمجرد إزالة المرجع ، نجحت كل الأشياء.

إذا كنت تقوم بإنشاء مشروع ويب في X64 في Visual Studio وتشغيله على IIS Express ، فيجب عليك تمكين الإعداد التالي:

Tools --> Options --> Projects & Solutions --> Web Projects --> Use the 64 bit version of IIS Express for web sites and projects

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