没有可执行文件找到匹配命令“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" 
    } 
} 
+0

“Microsoft.AspNetCore.Server.IISIntegration.Tools”版本中有空格。那是你的project.json实际上是这样还是仅仅是一个错字? –

+0

是的,那是一个错字,谢谢。 – pgruber

+0

这个错误听起来像你可能没有在你的服务器上安装'dotnet'工具。你如何设置服务器? –

这里的问题是.bin文件夹中的dll文件名称与父文件夹名称不同。我加入这行到我的project.json文件:

"buildOptions": { 
    "outputName": "whatever-you-want-it-to-be" 
} 

我重新建造我的应用程序,一切似乎是伟大的工作。所有的dll文件名都被更改了,所以我重新部署到了服务器上。希望这可以帮助!