asp.net 核心 1. 如何将 Target Runtime 更改为 x86

asp.net core 1. how change the Target Runtime to x86

我开发了一个 Asp 核心网络应用程序(.net 框架)。 我如何将 运行 指定为 32 位应用程序?

发布向导不让改Target Runtime,选择的选项是x64。

我在我的机器上安装了 x86 版本的 .NET Core Installer。

发布向导截图:

PS 为什么我需要 x86.

我不得不 运行 在安装了 Microsoft Access 32 位(2003,用于旧软件)的计算机上访问该站点。 我还需要访问 Microsoft Access 文件中的数据,这需要我使用 Microsoft.Jet.OLEDB.4.0 驱动程序。

问题可能是应用程序的核心 ASP.NET 总是 运行 宁作为 64 位应用程序,这就是给了我已知的异常 'driver not registred' 在 IIS 中设置 "enable 32-bit application" 后仍然如此。

我无法安装 64 位访问驱动程序引擎,因为它需要删除 MS Access 32 位...

如上所述 您需要将 "runtimes" 键添加到您的 project.json 文件中,如下图所示。

执行此操作后,Publish 菜单中的 Target Runtime 条目将列出所有指定的运行时。虽然这还不足以使其正常工作,因为使用 Publish 菜单并选择 x86 版本将没有效果,并且会生成 x64 二进制文件。 (此错误可能会在将来修复)。

解决方法是导航到 project.json 所在的项目文件夹。打开命令提示符并键入以下内容以使您的二进制文件处于所需的运行时:

dotnet publish --runtime win7-x86

如果您遇到任何错误,您可能需要安装相应的运行时(下载表格 here)。

更多信息:

buildOptions 下还有一个 platform 键列出了所有可能的目标,但由于某些问题(如 #1624)它没有效果,似乎系统忽略了那。