.NET Core - 在不同驱动器上的 iis express 下的相同项目 运行

.NET Core - same project running under iis express on different drive

我最近买了一台新电脑。我将驱动器从旧电脑移到新电脑上,安装了我需要的所有东西并打开了我的项目。现在,我正在尝试 运行 我在 IIS Express 中的项目,但它显示一个错误,将 html 输出指定为日志文件。

当我查看 html 问题时,它是由看起来像 IIS 页面的内容生成的 500 错误消息。提示找不到配置文件:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid

Config File
\?\F:\Development\MyProject\API\web.config  

当我切换到新机器时,驱动器盘符已更改,因此我 运行ning 的代码不再像上面消息中那样位于驱动器 F 上 - 它现在位于不同的驱动器上。我查看了我的代码 - 我没有任何地方提到特定路径。

我尝试过清理和重建,但没有用。

如果我在文件中查看路径,我发现 DLL 是使用其中的 PDB 文件路径编译的。这是为什么?生产后期会发生什么?

另外,我该如何解决这个问题?为什么它一直在寻找旧位置?

我很确定 IIS Express 元数据库仍然具有为此站点配置的旧路径。请参阅以下答案以了解如何找到配置数据库文件(通常位于此处:\Documents\IISExpress\config\applicationhost.config):

Where is the IIS Express configuration / metabase file found?

我不确定更正问题的最正确方法是什么,但您应该能够手动编辑此文件并将站点的 "physicalPath" 属性更新为正确的路径以解决此问题问题。

我不知道我的问题的确切原因,但解决方案是从所有项目文件夹和 re-compile.

中删除所有 bin 目录

为了从我的所有项目中删除 bin 目录,我编写了以下 PowerShell 脚本:

Get-ChildItem -Path . -Filter *bin* –Recurse | Remove-Item -Recurse -Confirm