当我使用以下命令运行 ASP.Net Core 应用程序时,请帮助我指定配置文件名称dotnet WebApplicationLaunchProfile.dll
我使用这个简短的形式只是为了能够在 VS 之外运行该项目并检查它是如何工作的。
我知道我可以使用它dotnet run --launch-profile testProfileName,但需要.csproj源.cs文件可用。我想避免复制源代码文件并使用编译的程序集。我的流程是:
dotnet buildbin\Debug文件夹内容)复制到单独的文件夹dotnet WebApplicationLaunchProfile.dll使用表单启动 dll 以使用正确的配置文件名称然而问题是
使用 dotnet run 启动应用程序时,将使用第一个带有“commandName”的配置文件:“Project”
如果使用命令执行项目,则不应用文档中的规则dotnet dll。很明显,由于我没有使用该命令,因此不应应用它dotnet run。
不过我想以某种方式指定配置文件名称。
我已经从 VS 模板创建了新的 ASP.Net Core 项目并更新了文件,launchSettings.json如下所示:
{
"$schema": "http://json.schemastore.org/launchsettings.json",
...
"profiles": {
...
"WebApplicationLaunchProfile": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "weatherforecast",
"applicationUrl": "https://localhost:4430;http://localhost:8080",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经调整了该profiles:WebApplicationLaunchProfile:applicationUrl值并替换了 5000 和 5001 端口,如您所见。项目已上传到https://github.com/oleksabor/curly-broccoli只是为了快速参考。但除此之外没有任何修改launchSettings.json。
我可以使用 VS 或dotnet run命令启动应用程序,没有任何问题
dotnet dll但是,使用如下命令执行应用程序时出现错误:
C:\projects\WebApplicationLaunchProfile\bin\Debug\netcoreapp3.1>dotnet WebApplicationLaunchProfile.dll
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.IO.IOException: Failed to bind to address http://127.0.0.1:5000: address already in use.
Run Code Online (Sandbox Code Playgroud)
我已占用端口 5000,想使用 4430 代替。
dotnet WebApplicationLaunchProfile.dll --launch-profile WebApplicationLaunchProfile不起作用(错误是相同的)
是否可以设置配置文件名称dotnet dll?
我本以为dotnet xxx.dll -launch-profile会起作用。您使用默认的 Program.cs 文件吗?(当我们使用 Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(...) 从模板创建项目时生成的,这就是配置魔法发生的地方)
否则,您可以尝试为您的进程设置此环境变量:ASPNETCORE_URLS。应该把它捡起来并使用。更多信息请参见 github 问题页面github.com/aspnet/KestrelHttpServer/issues/639。例如:set ASPNETCORE_URLS=https://localhost:4430;http://localhost:8080。
| 归档时间: |
|
| 查看次数: |
5052 次 |
| 最近记录: |