ASPNETCOMPILER error ASPCONFIG: No se pudo cargar el archivo o ensamblado 'Microsoft.VisualBasic.Activities.Compiler' o uno de sus dependencias

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

Pregunta

Acabo de actualizar el proyecto para Asp.Net 4, de 3,5. Cuando la acumulación arranca desde TeamCity, me sale el siguiente error:

[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

He intentado copiar los conjuntos de referencia .net framework a C: \ Archivos de programa (x86) \ Referencia Asambleas \ Microsoft \ Framework.NETFramework \ v4.0 pensar que arreglar las cosas, pero aún ninguna suerte. ¿Alguna idea?

¿Fue útil?

Solución 2

Este error tuvo que ver con las bibliotecas de clases en referencia a la solución de más edad (v3 o v3.5) Componentes de Sistemas. Esas bibliotecas de clases fueron referenciados por mi página web, por lo que los montajes del sistema podían ser copiados a la carpeta bin junto con las bibliotecas de clases. Tal vez los conjuntos del sistema en el directorio 3.5 tienen diferentes permisos que el directorio de 4,0 y cuando la aspnet_compiler trató de cargarlos desde el directorio bin, se vomitó.

Después de pasar por cada archivo csproj y actualización de los valores <RequiredTargetFramework> a 4.0, todo está funcionando como se esperaba.

Otros consejos

Para mí fue realmente una falta de coincidencia x86 / x64. Lo resuelto mediante la especificación de la ruta a la x64 MSBuild a través de la variable de entorno MSBuild:

Establecer la variable de entorno MSBuild

Tengo el mismo error de la construcción de la .csproj_deploy VS. Todos los otros proyectos, incluyendo la tela en la solución construida fina. No era en realidad esta DLL Microsoft.VisualBasic.Activities.Compiler en mi carpeta bin web. Cuando hace clic solución de acumulación / limpio, todos los archivos de la carpeta que se borraron, excepto esto. He eliminado manualmente este archivo y construido de nuevo y construido bien. Esta vez, ni siquiera ver este archivo en la carpeta bin.

se parece a un x86 / x64 desajuste - Yo fuertemente recomiendo utilizar realmente el instalador marco, que la piratería es copiando los archivos a mano

He encontrado la solución aceptada muy simple presenta aquí ha solucionado el problema para mí, siendo esta la instalación de la Windows SDK para .NET Framework 4 (o el equivalente para su versión de Windows).

Tenga en cuenta el comentario de la respuesta aceptada que dice "Intellisense y Asambleas de referencia" son las únicas características del SDK necesaria para solucionar este problema.

La solución simple que funcionó para mí fue modificar la línea TargetFrameworkVersion del archivo .vbproj. Simplemente cambiando "v4.0" a "4.0" borrar todos los errores copmiler y se fijaron mis problemas de IntelliSense (no estaban siendo reconocidos etiquetas ASP.NET).

Hemos tenido este error al cambiar nuestros entornos de alojamiento (al nuevo servidor web con IIS).

La solución fue:

  • Cambie el grupo de aplicaciones / Configuración avanzada y en conjunto Enable 32 bit applications a true, o
  • Borrar todos los montajes de la carpeta bin que ya pertenecen al marco (por ejemplo, tuvimos System.Data.dll en nuestra carpeta bin, que obviamente fue construido para 32b - eliminarlo ha solucionado el problema)

Me di cuenta que tenía una referencia innecesaria a la DLL 'Microsoft.VisualBasic.Activities.Compiler'. Una vez me quita la referencia, todas las cosas funcionaron.

Si usted está construyendo un proyecto web en x64 en Visual Studio y en ejecución en IIS Express le debe permitir el ajuste siguiente:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top