托管方案和配置文件位置

时间:2016-06-22 05:04:26

标签: c# asp.net iis asp.net-core appsettings

我刚刚将应用程序升级到RC2并正在测试所有托管方案。我无法弄清楚如何设置每个场景的配置的最佳实践,它们都可以工作。

以下是场景: 1.使用WebListener进行本地调试(我们需要Windows身份验证) 2.使用Kestrel进行本地调试 3.使用IIS Express进行本地调试(+ Kestrel) 4.发布到IIS

我不确定我们是否需要所有这些,但你知道......开发人员和他们的偏好:)

因此,当您将应用程序发布到IIS时,我已将IIS应用程序物理路径设置为wwwroot-folder。 appsettings.json文件在wwwroot之外,因此我可以使用

加载配置文件
new ConfigurationBuilder()
           .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), @"..\"))

这很好用。我还将本地自托管的Kestrel和WebListener工作目录设置为wwwroot,以便在那里应用相同的逻辑。

launchsettings.json

"workingDirectory": "wwwroot",

问题出在IIS Express上。使用IIS Express,当前目录是应用程序根目录(与appsettings.json相同)所以使用当前设置,它找不到设置文件。似乎我无法为IIS Express(?)设置工作目录,这让我想到设置它的首选方法是什么,它可以在所有提到的场景中工作?

0 个答案:

没有答案