没有可执行文件找到匹配命令“dotnet-./..dll”
问题描述:
我在.NET Core中编写了一个API,当我在本地运行时运行良好,但部署到Azure或Heroku给我在我的日志中出现同样的错误:No executable found matching command "dotnet-./..dll"
。我在下面列出了我的project.json,我不确定其他信息会有帮助。谢谢!没有可执行文件找到匹配命令“dotnet-./..dll”
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "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",
"Npgsql.EntityFrameworkCore.PostgreSQL": "1.0.0",
"Microsoft.EntityFrameworkCore.Design": {
"version": "1.0.0-preview2-final",
"type": "build"
}
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
},
"tooling": {
"defaultNamespace": "Tokens_monolith"
}
}
答
这里的问题是.bin
文件夹中的dll文件名称与父文件夹名称不同。我加入这行到我的project.json
文件:
"buildOptions": {
"outputName": "whatever-you-want-it-to-be"
}
我重新建造我的应用程序,一切似乎是伟大的工作。所有的dll文件名都被更改了,所以我重新部署到了服务器上。希望这可以帮助!
“Microsoft.AspNetCore.Server.IISIntegration.Tools”版本中有空格。那是你的project.json实际上是这样还是仅仅是一个错字? –
是的,那是一个错字,谢谢。 – pgruber
这个错误听起来像你可能没有在你的服务器上安装'dotnet'工具。你如何设置服务器? –