Avatar billede henrik_40 Juniormester
12. januar 2015 - 14:14 Der er 4 kommentarer og
1 løsning

Kan ikke kompile lokalt

Hejsa
Jeg har en webside som kører live men ikke lokalt. Det er ville være rart at få websiden til at køre lokalt, så jeg kan debugge. Jeg har forsøgt at kopiere dll-filer fra live serveren og det er til sidst lykkedes mig at kompilere websiden lokalt, men når jeg kører en side får jeg nedenstående fejl. Kan nogle guide mig videre?




FEJL:

Could not load file or assembly 'System.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format.



[BadImageFormatException: Could not load file or assembly 'System.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
  System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
  System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +34
  System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +152
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +77
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +16
  System.Reflection.Assembly.Load(String assemblyString) +28
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +38

[ConfigurationErrorsException: Could not load file or assembly 'System.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +752
  System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +218
  System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130
  System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +170
  System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +91
  System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +285
  System.Web.Compilation.BuildManager.ExecutePreAppStart() +153
  System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +521

[HttpException (0x80004005): Could not load file or assembly 'System.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
  System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9950728
  System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
Avatar billede arne_v Ekspert
12. januar 2015 - 15:03 #1
Forskellig .NET version?

Forskellige profil (full/client)?
Avatar billede henrik_40 Juniormester
12. januar 2015 - 16:58 #2
På serveren kan jeg se (via iis manager) at der køres .net 4.0 system.web.dll ligger dog forskellige steder. Kigger jeg på properties af system.web.dll kan jeg se at der findes
Product Version 4.0.30319.1
og
Product Version 2.0.50727.5456

På live  (som jo virker) ligger der i bin-kataloget version 2.0 og
og i kataloget
I C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
findes kun underkatalogerne
v3.0 og v.3.5, men ingen af katalogerne indeholder filen system.web.dll

Jeg har erstattet system.web.dll version 2.0 til version 4.0 i både C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework og bin-kataloget  og nu virker det :-)

Så problemet er sådan set løst, men kan du dog fortælle mig om
system.web.dll kun behøver at ligge i bin? Skal der bruges version 4.XXX til .NET framework 4.0?
Avatar billede arne_v Ekspert
20. januar 2015 - 03:36 #3
Version 4.0.x.x er .NET 4.0 udgaven.

Men jeg er altsaa noget bekymret over din loesning. Jeg ville nok have forsogt med noget af-installation, oprydning og gen-installation inden jeg forsoegte saadan et hack.
Avatar billede henrik_40 Juniormester
26. januar 2015 - 10:24 #4
Ja, men det desværre ikke en mulighed. Læg et svar.
Avatar billede arne_v Ekspert
27. januar 2015 - 04:49 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester