突然出现问题:运行时asp.net核心web.config中出现重复密钥错误



当我运行nopCommerce项目(asp.net core 3.1(网站时,我看到错误对话框,显示web.config文件中存在重复的密钥。但我看到了我的web.config,没有重复的键和节。

我以前也遇到过同样的问题,并解决了它,但我不记得是怎么解决的。问题是,在运行时,相同的web.config文件会为该应用程序加载两次。

我知道我应该从运行时创建的文件夹中的配置文件中删除一行,但不记得它在哪里

我找到了灵魂:当您在visual studio中运行asp.net核心web应用程序时,它会在[SolutionFolder]/.vs/[SolutionName]/config/applicationhost.config.中创建一个托管配置文件

在该文件中,它指定了解决方案中的现有网站及其托管信息。例如:

<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="Nop.Web" id="4">
<application path="/" applicationPool="Nop.Web AppPool">
<virtualDirectory path="/" physicalPath="D:ProjectsAddressClickPresentationNop.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:15537:localhost" />
</bindings>
</site>
....
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

我的问题是,当我编辑web项目调试设置并将其更改为在IIS而不是IISExpress上运行时,它向该文件添加了一个节,而不是为其编辑现有节。因此,当我运行web项目时,它试图在运行时加载两个web.config文件,并且在加载第二个节的配置时面临重复键错误(我的问题(。

我删除了第一个网站部分并解决了问题。

相关内容

最新更新