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

时间:2016-07-06 23:36:02

标签: ms-access 32-bit asp.net-core-1.0

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

发布向导不会让位于更改所选选项为x64的Target Runtime

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

发布向导截图: enter image description here

PS为什么我需要x86。

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

问题可能是,应用程序的核心ASP.NET始终作为64位应用程序运行,这就是我所知道的异常'驱动程序未注册的问题' 设置"启用32位应用程序"在IIS中。

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

1 个答案:

答案 0 :(得分:5)

如上所述[{3}},您需要将"runtimes"密钥添加到project.json文件中,如下图所示。

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

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

  

dotnet publish --runtime win7-x86

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

更多信息:

https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog#what-are-rids

platform下还有一个buildOptions项,列出了所有可能的目标,但由于某些问题(如.NET Core Project.json Runtimes),它没有任何效果,系统似乎忽略了这一点。

#1624