我的问题的全部目的是为了能够让我的网站在Visual Studio中不使用f5而且没有附加调试器的情况下运行。
结果很简单。
您可以在控制台终端中的Kestrel中运行它。
只需打开一个终端或命令提示符下您的项目根型:
dotnet run
这将运行隼对你的项目,并告诉你这是在哪个端口上。然后,您可以在浏览器中点击http://localhost:5000(或者端口位于)。
更新:你可以杀死你对IIS Express的依赖,也可以在你的整个应用程序中使f5运行在Kestrel中。
要做到这一点:
- 右键单击您的项目并转到属性
- 单击调试选项卡
- 单击新建的配置文件旁的下拉
- 叫它红隼开发
- 将启动类型更改为“Project”
- 将应用参数设置为“dotnet run”
- 添加的环境变量为“ASPNETCORE_ENVIRONMENT”
- 将值设置为“发展”
- 添加的环境变量为“ASPNETCORE_URLS”
- 给它的一个值“http://localhost:8080”或者你想让它运行的任何网址/端口。
重复的“茶隼生产”上面的选项,但设置ASPNETCORE_ENVIRONMENT到“生产”
的ASPNETCORE_ENVIRONMENT是用来处理您的JSON配置转换。
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
所以,如果你想appSettings.json发展(本地),分期和生产,那么你将创建3个appSettings.json文件
appSettings.json
appSettings.Development.json
appSettings.Staging.json
appSettings.Production.json
然后你做.Staging.Json等文件可选,上面有选项:true config选项。
因此,在appSettings.json中,所有环境中的所有内容都是相同的。
然后在appSettings.Development.json中,您可能只有在本地运行时才需要的东西。
等等等等
您为每个环境创建一个配置文件,因此,如果您运行的“茶隼发展”它使用appSettings.Development.Json
如果你运行“隼转移”,它使用appSettings.Staging以.json。
如果您运行“红隼生产”,它使用appSettings.Production.json。
这也会影响您的tagHelper在您的MVC Views中的工作方式,例如,
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
在该html中,如果您正在运行“Kestrel Development”,那么会输出用于开发的环境标记内的html。
如果您正在运行Kestrel Production,则输出用于分段,生产的环境标记中的html。
您应该再次检查描述并清楚区分IIS和IIS Express。目前你将两者混合在一起,这个问题很难理解。 –
现在我想出了如何使用“dotnet run”,这就是我想要的。我的目标是让我的网站在没有附加调试器的情况下运行。 dotnet运行和红隼工作得很好。 我会很快删除这个问题。 –
@Ryios请不要删除这个问题...而是考虑张贴您的解决方案作为答案。谢谢 – objectNotFound