首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在64位构建服务器上将网站项目构建为32位?

如何在64位构建服务器上将网站项目构建为32位?
EN

Stack Overflow用户
提问于 2018-02-05 04:27:41
回答 6查看 0关注 0票数 0

我有一个VS 2010解决方案,其中包含一个网站,其中有一个网络服务。Web服务引用在我们的64位生成服务器上构建解决方案时引起问题的COM DLL。我得到了典型的32/64位错误:

ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'xxx' or one of its dependencies. An attempt was made to load a program with an incorrect format

当我使用32位aspnet构建站点时aspnet_compiler构建得很好。那么,我如何指定一个网站应该作为32位构建呢?VS内部的配置管理器只允许我选择任何CPU,所以我不能将它更改为x86用于这个网站。

EN

回答 6

Stack Overflow用户

发布于 2018-02-05 09:13:17

使用以下命令

代码语言:javascript
复制
call "C:\Program Files\Microsoft Visual Studio 2008\VC\vcvarsall.bat" x86
MSBuild MySolutiuon.sln 

也可以使用x86_amd64任何CPU。注意,与其使用MSBuild你可以像

代码语言:javascript
复制
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <Target Name="PrecompileWeb">
     <AspNetCompiler
         VirtualPath="/MyWebSite"
         PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
         TargetPath="c:\precompiledweb\MyWebSite\"
         Force="true"
         Debug="true"
         FixedNames="True"
     />
 </Target>
</Project> 

要使用上述配置,必须使用

代码语言:javascript
复制
MSBuild your.xml /p:Configuration=Release
票数 0
EN

Stack Overflow用户

发布于 2018-02-05 10:04:59

检查依赖walker,看看它能走多远。我猜它可能会停在vjsnativ.dll.如果这是最远的话,试一试这个解决办法

否则,你将不得不追踪程序找不到的每个DLL,并将它们复制到您的程序(或其垃圾箱)目录。

票数 0
EN

Stack Overflow用户

发布于 2018-02-05 10:54:15

这不是编译问题,而是环境问题。ASP.NET网站将永远作为任何CPU构建。

但是,如果在64位计算机上加载它,则默认情况下,IIS的64位版本正在运行,无法加载COM DLL,并且失败。

需要将IIS配置为在64位Windows上运行32位应用程序:http://www.microsoft.com/TechNet/prodtech nol/windowsserver2003/Library/iis/405f5bb5-87a3-43d2-8138-54b75db73a1.mspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档