AspNetCompiler Fehler ASPCONFIG: Datei konnte nicht geladen werden oder Assembly ‚Microsoft.VisualBasic.Activities.Compiler‘ oder eine ihrer Abhängigkeiten
-
27-09-2019 - |
Frage
ich mein Projekt nur 4, von 3,5 bis Asp.Net aufgewertet. Wenn die Build-Kicks off von Teamcity, ich die folgende Fehlermeldung erhalten:
[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
Ich habe versucht, die .NET Framework-Referenz Baugruppen C Kopieren: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 denken, dass die Dinge beheben würde, aber noch kein Glück. Irgendwelche Gedanken?
Lösung 2
Dieser Fehler hatte mit Klassenbibliotheken in der Lösung zu tun Referenzierung älter (v3 oder v3.5) Systembaugruppen. Diese Klassenbibliotheken wurden von meiner Website verwiesen wird, so dass die Systembaugruppen in den Papierkorb-Ordner zusammen mit den Klassenbibliotheken kopiert wurde. Vielleicht haben die Systembaugruppen im 3,5-Verzeichnis unterschiedliche Berechtigungen als das 4.0-Verzeichnis und wenn die aspnet_compiler versucht, sie aus dem bin-Verzeichnis zu laden, es barfed.
Nach dem durch jede csproj Datei gehen und Aktualisierung <RequiredTargetFramework>
Werte 4.0
, alles funktioniert wie erwartet.
Andere Tipps
Für mich war es in der Tat ein x86 / x64 stimmen nicht überein. Ich löste es durch den Pfad zu dem x64 MSBuild durch den MSBuild-Umgebungsvariable festgelegt wird:
Ich habe den gleichen Fehler Aufbau der .csproj_deploy
von VS. Alle anderen Projekte einschließlich der Bahn in der Lösung gebaut in Ordnung. Es war eigentlich dieser Microsoft.VisualBasic.Activities.Compiler
DLL in meinem Web-bin-Ordner. Wenn ich build / saubere Lösung angeklickt, werden alle Dateien im Ordner wurde außer diese gelöscht. Ich löschte diese Datei manuell und gebaut wieder und es gebaut in Ordnung.
Dieses Mal, ich sehe nicht einmal diese Datei im Ordner ist.
Sieht aus wie ein x86 / x64 Mismatch - ich stark eigentlich würde empfehlen, den Rahmen Installer verwenden, als es Hacker, indem sie die Dateien von Hand zu kopieren
Ich fand das sehr einfach akzeptierte Lösung präsentiert hier das Thema für mich festgelegt, wobei dies die
Die einfache Lösung, die für mich gearbeitet wurde die TargetFrameworkVersion Zeile der .vbproj-Datei zu ändern. Durch einfaches Ändern „v4.0“ auf „4.0“ alle der copmiler Fehler beseitigt und fixiert meine Intellisense Fragen (asp.net-Tags wurden nicht erkannt werden).
Wir hatten diese Fehler, wenn unser Hosting-Umgebungen Schalten (auf den neuen Web-Server mit IIS).
Das Update war:
- Sie entweder den Anwendungspool / Erweiterte Einstellungen ändern und Set
Enable 32 bit applications
zutrue
oder - Löschen Sie alle Baugruppen aus dem Ordner ist, die bereits gehören in den Rahmen (zum Beispiel wir
System.Data.dll
in unserem Binärordner hatten, die offensichtlich für 32b gebaut wurde - Löscht es das Problem behoben)
Ich fand, dass ich einen unnötigen Hinweis auf den ‚Microsoft.VisualBasic.Activities.Compiler‘ dll hatte. Sobald ich die Referenz entfernt, alles funktioniert.
Wenn Sie ein Webprojekt in X 64 in Visual Studio bauen und laufen auf IIS Express müssen Sie die folgende Einstellung aktivieren:
Tools --> Options --> Projects & Solutions --> Web Projects --> Use the 64 bit version of IIS Express for web sites and projects