在visual studio 2015下以x86开始一个asp.net核心项目

Dar*_*rse 4 c# visual-studio-2015 asp.net-core

我有一个包含asp.net核心项目的vs2015解决方案,并将其project.json配置如下:

{
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "platform": "x86"
  },
  "runtimes": {
    "win10-x86": {}
  },
  "frameworks": {
    "net461": {}
  },
  "commands": {
    "web": "Microsoft.AspNet.Hosting --ASPNET_ENV production --server Microsoft.AspNet.Server.Kestrel --server.urls http://+:12345",
  }
  [...]
}
Run Code Online (Sandbox Code Playgroud)

我期待应用程序使用project.json中指定的平台构建和运行(仅供参考,我在win10/x64框上通过vs2015调试器运行应用程序).但是,使用win7-x64运行时代替.我可以看到一个win7-x64输出目录,启动的提示标题也表明它.

如果我通过指定运行时的命令行直接构建和运行,它就可以工作.

所以我的问题是,我还需要配置什么来从vs2015启动x86中的asp.net核心应用程序?

Vic*_*aci 5

有两种选择:

  1. (全局)卸载64位.net SDK并安装32位.之后重启VS.
  2. (本地)将新的.net SDK放在不同的文件夹中,并从控制台添加到PATH的路径.然后从那里开始VS. 它将选择它在PATH上找到的第一个dotnet.


A.J*_*uer 5

Victor Hurdugaci 的回答应该得到支持,这里只是提供了一些更多信息,以防您需要它。

当您同时安装 x86 和 x64 .NET Core 版本时,目前似乎存在一个工具问题(更多相关信息:32 位状态不佳以及解决方法和链接)。

在 project.json 中将 "buildOptions" 设置为 "platform": "x86" 和 "runtimes": 到 "win7-x86" 不起作用(根据 PATH 环境变量,在构建过程中仍然可以创建 x64 目录)。

这有望在他们从 project.json 切换到 .csproj 后得到解决(为什么他们在这里更改对 Project.json 的更改)。

当您安装了这样的两个版本时(.NET Framework 下载):

在此处输入图片说明

您需要在路径环境变量中设置顺序:

在此处输入图片说明

这样您要使用的那个首先出现,然后(重新)启动Visual Studio。

要检查哪个 dotnet 当前处于“活动状态”,请在控制台中运行:dotnet --info。