我的情况是,我尝试构建一个非常简单的Asp.net Web应用程序,实际上除了在visual studio 2012中使用VB创建一个新的Web(表单)应用程序项目之外什么也没做。然后,我将配置更改为在x64平台上构建它,它总是失败。但是,如果我改回x86平台,一切都很好。但是,我确实需要一个基于x64的webapplicaiton。
构建它时,没有错误,但这些警告,
Rebuild All started:Project:WebApplication_debug,Configuration:Debug x64 ------ vbc:警告BC40010:构建程序集时检测到可能出现的问题' WebApplication_debug':引用程序集&#m; mscorlib.dll'针对不同的处理器 vbc:警告BC40010:在构建程序集时检测到可能的问题' WebApplication_debug':引用程序集' System.Data.dll'针对不同的处理器 vbc:警告BC40010:构建程序集时检测到可能的问题' WebApplication_debug':引用程序集&System; Enterprise.Services.dll'针对不同的处理器 vbc:警告BC40010:构建程序集时检测到可能的问题' WebApplication_debug':引用程序集' System.Web.dll'针对不同的处理器
然后,当我运行它时,我得到了,
无法加载文件或程序集' WebApplication_debug,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。试图加载格式不正确的程序。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.BadImageFormatException:无法加载文件或程序集' WebApplication_debug,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。试图加载格式不正确的程序。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[BadImageFormatException:无法加载文件或程序集' WebApplication_debug,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。试图加载格式不正确的程序。] System.Reflection.Assembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,Assembly locationHint,StackCrawlMark& stackMark,Boolean throwOnFileNotFound,Boolean forIntrospection)+0 System.Reflection.Assembly.nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,Assembly locationHint,StackCrawlMark& stackMark,Boolean throwOnFileNotFound,Boolean forIntrospection)+43 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)+127 System.Reflection.Assembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)+142 System.Reflection.Assembly.Load(String assemblyString)+28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)+46
[ConfigurationErrorsException:无法加载文件或程序集' WebApplication_debug,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。试图加载格式不正确的程序。] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)+613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()+203 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)+105 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)+178 System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)+163 System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir,Boolean ignoreErrors)+53 System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir,VirtualPath virtualDir,Boolean ignoreErrors)+175 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)+86 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)+261 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)+101 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean allowCrossApp,Boolean noAssert)+126 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,Type requiredBaseType,HttpContext context,Boolean allowCrossApp,Boolean noAssert)+62 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context,String requestType,VirtualPath virtualPath,String physicalPath)+33 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context,String requestType,String virtualPath,String path)+37 System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+307 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+155
我尽我所能,比如设置IIS appPool等。没有成功。
答案 0 :(得分:1)
听起来你正试图在32位网络服务器中加载它。
将其更改为任何CPU,以便在两种架构上加载。
答案 1 :(得分:0)
如果你在32位机器上构建它,很可能你没有安装64位.Net框架。
此外,内置的Dev服务器也是32位,因此你无法在那里运行它。