我的問題的全部目的是爲了能夠讓我的網站在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