在64位计算机上,在x64平台上构建时无法运行最简单的Web应用程序(在VS中使用vb)

时间:2013-12-15 00:12:11

标签: asp.net visual-studio-2012

我的情况是,我尝试构建一个非常简单的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等。没有成功。

2 个答案:

答案 0 :(得分:1)

听起来你正试图在32位网络服务器中加载它。

将其更改为任何CPU,以便在两种架构上加载。

答案 1 :(得分:0)

如果你在32位机器上构建它,很可能你没有安装64位.Net框架。

此外,内置的Dev服务器也是32位,因此你无法在那里运行它。