无法在.net核心中发布二进制文件

san*_*eev 10 c# publish web-deployment asp.net-core-mvc .net-core

我试图自己托管一个.net核心MVC应用程序.它适用于所有.cs文件.当我dotnet publish -f netcoreapp1.0 -c release通过命令窗口发布它()时,它显示以下错误:

找不到匹配"bower"的可执行文件

我甚至尝试用VS发布.它生成二进制文件.但是当我dotnet run在命令提示符下执行时,我收到以下错误消息:

项目文件不存在'project.json'

任何人都可以建议如何使用二进制文件进行自托管?

在此输入图像描述

在此输入图像描述

小智 15

dotnet publish从命令行运行命令时,必须确保路径变量包含所有相关位置.

如果从Visual Studio中执行发布命令,并查看"Build"窗口中的输出,您会注意到它在运行publish命令之前更新了路径变量:

在此输入图像描述

从命令行,您可以通过执行类似的操作SET Path=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;来完成此操作

在PowerShell中,您可以将其设置为

$env:path += ";C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;"
Run Code Online (Sandbox Code Playgroud)

您还可以查看此GitHub问题: 找不到匹配命令"bower"的可执行文件

至于您的dotnet run问题,您必须在包含project.json文件的同一目录中执行此命令,或使用该-p|--project选项指定项目文件的位置.dotnet run --help在命令行上键入以获取更多信息.


Eli*_*ren 8

我在Ubuntu盒子上遇到了这个问题,这就是修复:

npm install -g bower
npm install -g gulp
Run Code Online (Sandbox Code Playgroud)

我在这里找到了解决方法:https://github.com/dotnet/cli/issues/3293#issuecomment-222993063