2017-04-20 69 views
1

我剛剛注意到,無論何時我們創建一個新項目,web.config文件都不會再添加到項目中。vs2017在.Net核心項目中缺少web.config

根據this link,我們可以用appsettings.json代替web.config。我已經在使用它來存儲一些設置並在我的應用程序中使用。

但是,我不知道如何在發佈時在web.config文件中生成forwardWindowsAuthToken="true"。我們使用WindowsAuthentication作爲網站,它不會附加在生成的web.config文件中。

我試圖在appsettings.json中添加該設置,如下所示,它不會附加。我需要手動編輯Web服務器上的web.config文件。

{ 
    "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
     "Default": "Warning" 
    } 
    }, 
    "forwardWindowsAuthToken" : true 
} 

它工作時,我在我的項目添加的web.config文件,並在代碼添加forwardWindowsAuthToken="true"

由於appsettings.json正在取代web.config文件,我不確定我的方法是否正確。我是對的還是有辦法在生成的web.config文件中自動添加該代碼?

+2

這不完全正確。 appsetting.json替換之前在web.config中的配置,但它不會替換web.config本身。 web.config仍然用於IIS相關設置,如記錄和設置處理程序和其他IIS的東西。但是,當你在Linux或Mac上獨佔主機或者在碼頭集裝箱等中使用kestrel(console/self-host)運行它時,它不會被使用。 – Tseng

回答

0

我們web.config在VS2017 .NET核心項目所需的配置和發佈dotnet期間將取代processPatharguments自動屬性。這在我們的部署過程中做了訣竅。

+0

你手動添加它,不是嗎? – TTCG

+0

'web.config'由VS2015自動創建並在升級後停留,所以我猜它仍然可以被認爲是手動創建的。 – Ignas

+0

是的,我不明白爲什麼MS擺脫web.config文件,如果它仍然是自動生成的,並需要一些設置。 – TTCG

相關問題