我开发了一个Asp核心Web应用程序(.net框架)。 我如何将运行指定为32位应用程序?
发布向导不会让位于更改所选选项为x64的Target Runtime
。
我在我的机器上安装了x86版本的.NET Core Installer。
PS为什么我需要x86。
我必须在安装了Microsoft Access 32位的计算机上运行该站点(2003年,用于旧软件)。 我还需要访问Microsoft Access文件中的数据,这需要我使用Microsoft.Jet.OLEDB.4.0驱动程序。
问题可能是,应用程序的核心ASP.NET始终作为64位应用程序运行,这就是我所知道的异常'驱动程序未注册的问题' 设置"启用32位应用程序"在IIS中。
我无法安装64位访问驱动程序引擎,因为它需要删除MS Access 32位...
答案 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
项,列出了所有可能的目标,但由于某些问题(如),它没有任何效果,系统似乎忽略了这一点。