发布.NET Core Application时出错"无法找到路径的一部分"

Mur*_*ilo 5 asp.net-mvc publish asp.net-mvc-5 visual-studio-2015 asp.net-core

我有一个非常简单的.NET Core Web应用程序(.NET Framework),使用Visual Studio 2015 Update 3创建,可以无错误地构建.

我可以使用x64配置文件在文件系统上发布.但是,当尝试使用目标运行时"win7-x86"发布时会出现以下错误:

找不到路径'c:\ Users\Developer\Documents\Visual Studio 2015\Projects\SelfHostTest\src\SelfHostTest\bin\Release \net452\win7-x86\SelfHostTest.exe'的一部分

我使用的是Windows 8.1 x64机器.我去了"配置管理器"并将"平台"从"任何CPU"更改为"x86"但是没有用.

我注意到有一个文件夹"src\SelfHost2\bin\Debug \net452\win7-x64",但我没有为x86创建一个结构.

此发布有效:

在此输入图像描述

此发布不起作用:

在此输入图像描述

这是我的project.json,以帮助别人帮助我.

{
  "dependencies": {
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.Server.WebListener": "0.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "net452": {
      "dependencies": {
      }
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimes": {
    "win7-x64": {},
    "win7-x86": {}
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install", "dotnet bundle" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  },

  "commands": {
    "http": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
  }
}
Run Code Online (Sandbox Code Playgroud)

Paw*_*wel 8

这是工具中的一个错误.它将始终为默认RID构建(并且AFAIK无法更改它),但是在发布对话框中,您可以看到project.json中的所有RID,如果您选择非默认RID,则自项目以来,发布将失败不是为这个RID构建的.尝试使用您要发布的RID从命令行构建.这种方式,当你发布VS将能够找到二进制文件和发布应该工作.