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

时间:2016-07-05 14:10:37

标签: c# asp.net-core-mvc web-deployment publish .net-core

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

  

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

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

  

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

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

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:15)

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

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

enter image description here

从命令行,您可以通过执行SET Path=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External; be

之类的操作来完成此操作

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

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

您还可以查看此GitHub问题: No executable found matching command "bower"

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

答案 1 :(得分:8)

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

npm install -g bower
npm install -g gulp

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