asp.net – 如何在x64中使用WebDev.WebServer.exe(VS Web Server)?
|
直到至少2010年版本的Visual Studio是x86直到更新:这仍然是一个问题在VS2010,没有本机64位卡西尼支持。我的问题是,任何人都可以想到一种独立的ASP.NET调试服务器的方式或知道,这是2008年或2010年的x64? 背景:我们的ASP.NET应用程序以Oracle作为数据库运行。由于我们稍后在64位服务器上进行内存考虑,因此我们需要使用Oracle的64位驱动程序(Instant Client)。 建立: > x64操作系统(XP或Windows 7) 在IIS中,应用程序池作为64位运行,但是由于WebDev.WebServer.exe是32位,所以您会收到一个BadImageFormatException,因为它试图加载32位的64位驱动程序DLL环境。我们所有的开发人员都希望能够通过Visual Studio 2008使用快速调试服务器,但由于它运行的是32位,我们无法使用。我们遇到的一些问题是在应用程序启动期间,所以尽管我们附加到IIS进程有时候还不足以跟踪问题。 是否有其他替代方案或解决方案?我们希望尽可能地匹配我们的Dev / Val / Prod层,所以以x64运行的所有内容都将是理想的。 VS 2010更新 自从第一次发布以来,这个问题发生了很多变化,首先是VS2010,现在还是有同样的问题,但是我没有这个项目。我们经历了2个改变来解决这个问题,所以我会发贴这些,希望能够拯救别人的悲伤: 第一个解决方案是在64位模式下将Oracle x86加载到32位x64,我们通过在64位运行时通过web.config替换程序集引用,就像这样: <configuration>
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" processorArchitecture="amd64" />
<bindingRedirect oldVersion="2.0.0.0-10.9.9.9" newVersion="2.102.3.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
这里的关键是processorArchitecture =“amd64”,这意味着只有在64位下运行时才会更换。 请注意,这些版本现在可能已经过时了(如果您正在专心阅读关于Oracle的话),这是一回事。除了配置,我们加载了Oracle.DataAccess into the GAC的32位和64位版本。对于Oracle 10g,32位版本是10.xxx,64位版本是2.1xxx,所以只有swapping the binding using 第二个更长期的解决方案是完全脱离Oracle客户端,我们现在正在为Linq-to-SQL提供商使用dotConnect for Oracle,由于它是使用直接TCP连接的完全托管代码,因此我们不再有32/64 – 应用程序中的特定代码,这更容易维护。 我希望谁发现这也发现后续行动也是有用的。如果您有任何解决方案的问题,我最后使用,请评论,我会尝试更详细地解释。 解决方法两个想法:>与Mono项目中的XSP一起使用。>测试在一个完全32bit的环境中,部署到一个64位的环境。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 实体框架 – 具有实体框架的MVC MiniProfiler 5模型第一个错
- asp.net – 我应该在哪里放置scriptmanager
- asp.net-mvc – ASP.NET MVC 3 – 你想看什么功能?
- asp.net-mvc-3 – MVC3值不能为null 参数名称:值
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net – 停止在每次构建时创建和删除app_offline.htm?
- asp.net – Web API将OAuth令牌作为XML返回
- asp.net – WebFormsMVP的缺点?
- 使用ASP.NET和C#在DropDownList中选择多个值
- 在MVC 6中调整上传的图像大小
