Ошибка ASPNETCOMPILER ASPCONFIG: не удалось загрузить файл или сборку «Microsoft.VisualBasic.Activities.Compiler» или одну из ее зависимостей - PullRequest
16 голосов
/ 16 июня 2010

Я только что обновил свой проект до версии 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 framework в C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0, думая, что это исправит ситуацию, но все же не повезло. Есть мысли?

Ответы [ 9 ]

10 голосов
/ 01 ноября 2012

Для меня это было действительно несоответствие x86 / x64. Я решил это, указав путь к x64 MSBuild через переменную среды MSBuild:

Set the MSBuild environment variable

7 голосов
/ 16 сентября 2010

Я получил ту же ошибку при сборке .csproj_deploy от VS. Все остальные проекты, в том числе и веб, в решении построены нормально. На самом деле в моей папке для веб-папок была эта библиотека Microsoft.VisualBasic.Activities.Compiler Когда я щелкнул «Построить / очистить решение», все файлы в папке были удалены, кроме этого. Я вручную удалил этот файл и собрал заново, и он хорошо сработал. На этот раз я даже не вижу этот файл в папке bin.

7 голосов
/ 17 июня 2010

Эта ошибка была связана с библиотеками классов в решении, ссылающемся на более старые (v3 или v3.5) системные сборки. На эти библиотеки классов ссылался мой веб-сайт, поэтому системные сборки были скопированы в папку bin вместе с библиотеками классов. Возможно, системные сборки в каталоге 3.5 имеют другие права доступа, чем каталог 4.0, и когда aspnet_compiler попытался загрузить их из каталога bin, это вызвало недовольство.

После просмотра каждого файла csproj и обновления значений <RequiredTargetFramework> до 4.0 все работает как положено.

2 голосов
/ 24 февраля 2015

У нас была эта ошибка при переключении наших хостинговых сред (на новый веб-сервер с IIS).

Исправление было:

  • Либо измените пул приложений / Дополнительные настройки,и установите Enable 32 bit applications на true или
  • Удалите все сборки из папки bin, которые уже принадлежат каркасу (например, у нас было System.Data.dll в нашей папке bin, которая была явно создана для 32b - удалениеэто решило проблему)
2 голосов
/ 30 июля 2012

Простое решение, которое мне помогло, - изменить строку TargetFrameworkVersion файла .vbproj. Просто изменив «v4.0» на «4.0», вы удалили все ошибки компилятора и исправили проблемы с intellisense (теги asp.net не распознавались).

2 голосов
/ 12 июля 2012

Я обнаружил, что очень простое принятое решение, представленное здесь , исправило проблему для меня, это установка Windows SDK для .NET Framework 4 (или эквивалент для вашей версии Windows) .

Обратите внимание на комментарий к принятому ответу, в котором говорится, что «Intellisense и справочные сборки» являются единственными функциями SDK, необходимыми для решения этой проблемы.

2 голосов
/ 16 июня 2010

Похоже на несоответствие x86 / x64 - я бы настоятельно рекомендовал на самом деле использовать установщик фреймворка, чем взломать его, скопировав файлы вручную

0 голосов
/ 27 сентября 2017

Если вы создаете веб-проект в x64 в Visual Studio и работаете в IIS Express, необходимо включить следующий параметр:

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

0 голосов
/ 28 марта 2016

Я обнаружил, что у меня есть ненужная ссылка на dll Microsoft.VisualBasic.Activities.Compiler. После удаления ссылки все заработало.

...