首页 > 解决方案 > System.FormatException:无法识别的参数格式:'.\application.api.dll'

问题描述

所以,我试图做自包含部署。我的整个发布文件夹都有一个 .exe,似乎包含所有 dll 和其他设置,如 web.config 和 appsettings.json

我尝试从文件夹 dotnet application.api.dll 在本地运行它并且它工作然后我在主机上上传了整个发布文件夹并将它放在我的日志/标准输出中

未处理的异常:System.FormatException:无法识别的参数格式:'.\application.api.dll'。在 Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationProvider.Load() 在 Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 提供程序) 在 Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() 在 Microsoft.AspNetCore.Hosting。 WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors) 在 Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() 在 kado.api.Program.Main(String[] args) 在 C:\Users\besti\Git\gra\kado.api\Program .cs:第 28 行

我觉得我已经尝试了一切,但我无法弄清楚我应该做什么来解决它。有人可以指导我吗?如果需要,我可能会提供更多信息。

标签: c#.net-coreasp.net-core-2.0

解决方案


仔细检查在使用您正在调用的独立应用程序时.\application.api.exe,而不是.\application.api.exe application.api.dll

例如,您的 web.config 文件应如下所示

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath=".\application.api.exe" 
                stdoutLogEnabled="false" 
                stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>

推荐阅读