在visual studio 2015下以x86启动asp.net核心项目

我有一个包含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", } [...] } 

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

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

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

有两种选择:

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

Victor Hurdugaci的回答应该被赞成,这里只是提供了一些更多的信息,以备你需要时使用。

当您安装了x86和x64 .NET Core版本时,似乎存在一个工具问题(此处有更多相关内容: 32位处于良好状态和解决方法以及链接)。

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

希望在将它们从project.json切换到.csproj之后得到修复(为什么他们在这里更改它: 对Project.json的更改 )。

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

在此处输入图像描述

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

在此处输入图像描述

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

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

这对我有用:

一小时前,visual studio 2015团队发布了一个标有“ Microsoft Visual Studio 2015 Update 3(KB3165756) ”的新更新

安装完成后,一切都按预期工作。

非常感谢MS和.net核心/ vs2015团队为这个非常及时的发布:)


附录:

安装更新是不够的(虽然我怀疑它是修复的一部分)。 要使其工作的其他步骤,您需要遵循@VictorHurdugaci指令:

  1. 确保已安装.86 SDK的x86版本

  2. 并确保在“C:\ Program Files \ dotnet \”之前的“C:\ Program Files(x86)\ dotnet \”的 PATH顺序是运行时安装新程序包时无法保证的(我想同时保留x86和x64)运行时)

感谢VictorHurdugaci,在一天结束时你绝对正确。