使用 IIS 设置 .NET Core 开发环境
Setting up .NET Core development environments with IIS
我是 .NET Core 的新手。我们目前正在 .NET core 5 (MVC) 上实现 运行 的 Umbraco9 站点。通常,在常规 .NET 站点上设置开发环境时,我会创建项目,将 IIS 指向同一文件夹,并为类似“local.mysite.com”的内容创建主机条目,然后我就可以加载在我的浏览器中设置 URL,网站就会运行,只需在需要更改后端代码时构建即可。
对于 .NET Core,显然存在一些显着差异。对于初学者,项目中有一个新的 wwwroot 文件夹。因此,在这种情况下,我尝试将我的 IIS 站点指向该 wwwroot 文件夹。这会产生要求 visual studio 发布到该文件夹以进行任何前端或后端更改的影响。此外,似乎 .NET 核心将 cshtml 文件编译成 Views.dll 文件,但是当我发布该站点时,该站点抛出 500,除非我手动将 cshtml 文件复制到 wwwroot 文件夹(它也有它的发布后拥有 wwwroot)。
我对开发和托管 .NET Core 的普遍接受的最佳实践进行了大量研究,但尚未得出结论。更复杂的是,我看到一些信息说您可以将 Kestrel 与 IIS 结合使用。所以现在是 Kestrel vs. IISEx vs IIS 的问题。我更喜欢 IIS,因为我希望它与生产相匹配。
我已尝试将我的 IIS 路径设置为 VS 项目的路径,但我得到“Web 服务器未配置为列出此目录的内容”。我启用了目录浏览,但这当然只是列出了目录中的文件。我也安装了托管包。
问题:对于如何为.NET Core 项目设置本地开发环境,是否有一套普遍接受的做法?我真的在从非 .NET Core 开发人员的角度寻找有关 .NET Core 的一些指导。我试图让这个问题尽可能集中,但我觉得我对“旧 .NET”与 .NET 核心的理解存在差距,我希望得到一些指导来帮助填补这一差距。
我没弄明白,所以我唯一能想到的解决方案是将 IIS 指向一个单独的发布文件夹,并在我需要进行更改时发布到该文件夹。
我是 .NET Core 的新手。我们目前正在 .NET core 5 (MVC) 上实现 运行 的 Umbraco9 站点。通常,在常规 .NET 站点上设置开发环境时,我会创建项目,将 IIS 指向同一文件夹,并为类似“local.mysite.com”的内容创建主机条目,然后我就可以加载在我的浏览器中设置 URL,网站就会运行,只需在需要更改后端代码时构建即可。
对于 .NET Core,显然存在一些显着差异。对于初学者,项目中有一个新的 wwwroot 文件夹。因此,在这种情况下,我尝试将我的 IIS 站点指向该 wwwroot 文件夹。这会产生要求 visual studio 发布到该文件夹以进行任何前端或后端更改的影响。此外,似乎 .NET 核心将 cshtml 文件编译成 Views.dll 文件,但是当我发布该站点时,该站点抛出 500,除非我手动将 cshtml 文件复制到 wwwroot 文件夹(它也有它的发布后拥有 wwwroot)。
我对开发和托管 .NET Core 的普遍接受的最佳实践进行了大量研究,但尚未得出结论。更复杂的是,我看到一些信息说您可以将 Kestrel 与 IIS 结合使用。所以现在是 Kestrel vs. IISEx vs IIS 的问题。我更喜欢 IIS,因为我希望它与生产相匹配。
我已尝试将我的 IIS 路径设置为 VS 项目的路径,但我得到“Web 服务器未配置为列出此目录的内容”。我启用了目录浏览,但这当然只是列出了目录中的文件。我也安装了托管包。
问题:对于如何为.NET Core 项目设置本地开发环境,是否有一套普遍接受的做法?我真的在从非 .NET Core 开发人员的角度寻找有关 .NET Core 的一些指导。我试图让这个问题尽可能集中,但我觉得我对“旧 .NET”与 .NET 核心的理解存在差距,我希望得到一些指导来帮助填补这一差距。
我没弄明白,所以我唯一能想到的解决方案是将 IIS 指向一个单独的发布文件夹,并在我需要进行更改时发布到该文件夹。